Fibonacci-Only StrategyFibonacci-Only Strategy
This script is a custom trading strategy designed for traders who leverage Fibonacci retracement levels to identify potential trade entries and exits. The strategy is versatile, allowing users to trade across multiple timeframes, with built-in options for dynamic stop loss, trailing stops, and take profit levels.
Key Features:
Custom Fibonacci Levels:
This strategy calculates three specific Fibonacci retracement levels: 19%, 82.56%, and the reverse 19% level. These levels are used to identify potential areas of support and resistance where price reversals or breaks might occur.
The Fibonacci levels are calculated based on the highest and lowest prices within a 100-bar period, making them dynamic and responsive to recent market conditions.
Dynamic Entry Conditions:
Touch Entry: The script enters long or short positions when the price touches specific Fibonacci levels and confirms the move with a bullish (for long) or bearish (for short) candle.
Break Entry (Optional): If the "Use Break Strategy" option is enabled, the script can also enter positions when the price breaks through Fibonacci levels, providing more aggressive entry opportunities.
Stop Loss Management:
The script offers flexible stop loss settings. Users can choose between a fixed percentage stop loss or an ATR-based stop loss, which adjusts based on market volatility.
The ATR (Average True Range) stop loss is multiplied by a user-defined factor, allowing for tailored risk management based on market conditions.
Trailing Stop Mechanism:
The script includes an optional trailing stop feature, which adjusts the stop loss level as the market moves in favor of the trade. This helps lock in profits while allowing the trade to run if the trend continues.
The trailing stop is calculated as a percentage of the difference between the entry price and the current market price.
Multiple Take Profit Levels:
The strategy calculates seven take profit levels, each at incremental percentages above (for long trades) or below (for short trades) the entry price. This allows for gradual profit-taking as the market moves in the trade's favor.
Each take profit level can be customized in terms of the percentage of the position to be closed, providing precise control over exit strategies.
Strategy Backtesting and Results:
Realistic Backtesting:
The script has been backtested with realistic account sizes, commission rates, and slippage settings to ensure that the results are applicable to actual trading scenarios.
The backtesting covers various timeframes and markets to ensure the strategy's robustness across different trading environments.
Default Settings:
The script is published with default settings that have been optimized for general use. These settings include a 15-minute timeframe, a 1.0% stop loss, a 2.0 ATR multiplier for stop loss, and a 1.5% trailing stop.
Users can adjust these settings to better fit their specific trading style or the market they are trading.
How It Works:
Long Entry Conditions:
The strategy enters a long position when the price touches the 19% Fibonacci level (from high to low) or the reverse 19% level (from low to high) and confirms the move with a bullish candle.
If the "Use Break Strategy" option is enabled, the script will also enter a long position when the price breaks below the 19% Fibonacci level and then moves back up, confirming the break with a bullish candle.
Short Entry Conditions:
The strategy enters a short position when the price touches the 82.56% Fibonacci level and confirms the move with a bearish candle.
If the "Use Break Strategy" option is enabled, the script will also enter a short position when the price breaks above the 82.56% Fibonacci level and then moves back down, confirming the break with a bearish candle.
Stop Loss and Take Profit Logic:
The stop loss for each trade is calculated based on the selected method (fixed percentage or ATR-based). The strategy then manages the trade by either trailing the stop or taking profit at predefined levels.
The take profit levels are set at increments of 0.5% above or below the entry price, depending on whether the position is long or short. The script gradually exits the trade as these levels are hit, securing profits while minimizing risk.
Usage:
For Fibonacci Traders:
This script is ideal for traders who rely on Fibonacci retracement levels to find potential trade entries and exits. The script automates the process, allowing traders to focus on market analysis and decision-making.
For Trend and Swing Traders:
The strategy's flexibility in handling both touch and break entries makes it suitable for trend-following and swing trading strategies. The multiple take profit levels allow traders to capture profits in trending markets while managing risk.
Important Notes:
Originality: This script uniquely combines Fibonacci retracement levels with dynamic stop loss management and multiple take profit levels. It is not just a combination of existing indicators but a thoughtful integration designed to enhance trading performance.
Disclaimer: Trading involves risk, and it is crucial to test this script in a demo account or through backtesting before applying it to live trading. Users should ensure that the settings align with their individual risk tolerance and trading strategy.
Komut dosyalarını "take profit" için ara
Self Optimizing RSI and Self Adaptive TP/SL [Starbots]Self Optimizing RSI and Self Adaptive TP/SL Strategy. (non-repainting)
This script continuously backtests 20 different combinations of RSI Buy conditions across 5 different Take Profit/Stop Loss combinations. In total, it tests 100 variants on every bar close and records the Net Profit gained for each combination. The strategy then selects and uses the best-performing combination of settings currently available for you to trade.
---------------------------------------------------------------------------------------------------------
The Relative Strength Index (RSI), developed by J. Welles Wilder, is a momentum oscillator that measures the speed and change of price movements. The RSI oscillates between zero and 100. Traditionally the RSI is considered overbought when above 70 and oversold when below 30. Signals can be generated by looking for divergences and failure swings. RSI can also be used to identify the general trend.
To improve our results we are calculating Multiple Length RSI - Average RSI based on the multiple periods. You can use just 1 Length or Multiple.
Set Inputs to Min=14, Max=14 if you want to use just 1 period.
= RSI(14)
3 RSI Lengths example (12,13 and 14):
Min=12, Max=14
(12+13+14) / 3 = avg. RSI
-----------------------------------------------------------------------------------------------------------
Backtester - Optimizer Explained:
The backtester runs numerous backtests in the background to optimize trading strategies. Here’s how it works:
Default Inputs (Combinations of TP/SL)
TP 1%, SL4%
TP 2%, SL4%
TP 3%, SL4%
TP 2%, SL5%
TP 4.5%, SL10%
Default Inputs (RSI Crossover Buys) :
18 ,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,45,55, 69
_______________________________________________________
Backtest RSI Crossover 18:
TP1%, SL4% => Save net profit
TP2%, SL4% => Save net profit
TP3%, SL4% => Save net profit
TP2%, SL5% => Save net profit
TP4.5%, SL10% => Save net profit
,...
,...
Backtest RSI Crossover 69:
TP1%, SL4% => Save net profit
TP2%, SL4% => Save net profit
TP3%, SL4% => Save net profit
TP2%, SL5% => Save net profit
TP4.5%, SL10% => Save net profit
Self Optimizing Buy Condition and Self Optimizing Take Profit - Stop Los
This process involves testing various combinations of RSI crossover values with different Take Profit (TP) and Stop Loss (SL) percentages. The net profit for each combination is saved, allowing the optimizer to select the best-performing settings for trading.
It recalculates on every bar close. If one combination starts performing better than others—achieving a higher net profit gain (essentially like running 100 backtests with different settings in the background)—the strategy switches to that combination of TP/SL and Buy condition. It continues trading with the new settings until another parameter starts performing better and the strategy switches to that setting.
________________________________________________________________________
If you wish to use it as INDICATOR - turn on 'Recalculate - On every tick' in Properties tab to have this script updating constantly and use it as a normal Indicator tool for manual trading.
Other functions:
Set the %fee for optimizing engine. If you set this % higher, you also punish small average trades and make the strategy prefer larger avg. trades, giving you better chances to make your strategy profitable.
Trade with trend and optimize the strategy only when the market is uptrending with EMA/HMA
Use Moving Average of avg.RSI and smooth the values for indicator even more. (Yes strategy is self optimizing RSI or avg.RSI or RSI-MA, you can select all sorts of this indicator for optimizing)
All trading alerts are working and functional, if you want to automate the strategy
This script is simple to use for any trader as it saves a lot of time for searching good parameters on your own. It's self-optimizing and adjusting to the markets on the go.
Smart Money Concept Strategy - Uncle SamThis strategy combines concepts from two popular TradingView scripts:
Smart Money Concepts (SMC) : The strategy identifies key levels in the market (swing highs and lows) and draws trend lines to visualize potential breakouts. It uses volume analysis to gauge the strength of these breakouts.
Smart Money Breakouts : This part of the strategy incorporates the idea of "Smart Money" – institutional traders who often lead market movements. It looks for breakouts of established levels with significant volume, aiming to catch the beginning of new trends.
How the Strategy Works:
Identification of Key Levels: The script identifies swing highs and swing lows based on a user-defined lookback period. These levels are considered significant points where price has reversed in the past.
Drawing Trend Lines: Trend lines are drawn connecting these key levels, creating a visual representation of potential support and resistance zones.
Volume Analysis: The script analyzes the volume during the formation of these levels and during breakouts. Higher volume suggests stronger moves and increases the probability of a successful breakout.
Entry Conditions:
Long Entry: A long entry is triggered when the price breaks above a resistance line with significant volume, and the moving average trend filter (optional) is bullish.
Short Entry: A short entry is triggered when the price breaks below a support line with significant volume, and the moving average trend filter (optional) is bearish.
Exit Conditions:
Stop Loss: Customizable stop loss percentages are implemented to protect against adverse price movements.
Take Profit: Customizable take profit percentages are used to lock in profits.
Credits and Compliance:
This strategy is inspired by the concepts and code from "Smart Money Concepts (SMC) " and "Smart Money Breakouts ." I've adapted and combined elements of both scripts to create this strategy. Full credit is given to the original authors for their valuable contributions to the TradingView community.
To comply with TradingView's House Rules, I've made the following adjustments:
Clearly Stated Inspiration: The description explicitly mentions the original scripts and authors as the inspiration for this strategy.
No Direct Copying: The code has been modified and combined, not directly copied from the original scripts.
Educational Purpose: The primary purpose of this strategy is for learning and backtesting. It's not intended as financial advice.
Important Note:
This strategy is intended for educational and backtesting purposes only. It should not be used for live trading without thorough testing and understanding of the underlying concepts. Past performance is not indicative of future results.
Advanced Gold Scalping Strategy with RSI Divergence# Advanced Gold Scalping Strategy with RSI Divergence
## Overview
This Pine Script implements an advanced scalping strategy for gold (XAUUSD) trading, primarily designed for the 1-minute timeframe. The strategy utilizes the Relative Strength Index (RSI) indicator along with its moving average to identify potential trade setups based on divergences between price action and RSI movements.
## Key Components
### 1. RSI Calculation
- Uses a customizable RSI length (default: 60)
- Allows selection of the source for RSI calculation (default: close price)
### 2. Moving Average of RSI
- Supports multiple MA types: SMA, EMA, SMMA (RMA), WMA, VWMA, and Bollinger Bands
- Customizable MA length (default: 3)
- Option to display Bollinger Bands with adjustable standard deviation multiplier
### 3. Divergence Detection
- Implements both bullish and bearish divergence identification
- Uses pivot high and pivot low points to detect divergences
- Allows for customization of lookback periods and range for divergence detection
### 4. Entry Conditions
- Long Entry: Bullish divergence when RSI is below 40
- Short Entry: Bearish divergence when RSI is above 60
### 5. Trade Management
- Stop Loss: Customizable, default set to 11 pips
- Take Profit: Customizable, default set to 33 pips
### 6. Visualization
- Plots RSI line and its moving average
- Displays horizontal lines at 30, 50, and 70 RSI levels
- Shows Bollinger Bands when selected
- Highlights divergences with "Bull" and "Bear" labels on the chart
## Input Parameters
- RSI Length: Adjusts the period for RSI calculation
- RSI Source: Selects the price source for RSI (close, open, high, low, hl2, hlc3, ohlc4)
- MA Type: Chooses the type of moving average applied to RSI
- MA Length: Sets the period for the moving average
- BB StdDev: Adjusts the standard deviation multiplier for Bollinger Bands
- Show Divergence: Toggles the display of divergence labels
- Stop Loss: Sets the stop loss distance in pips
- Take Profit: Sets the take profit distance in pips
## Strategy Logic
1. **RSI Calculation**:
- Computes RSI using the specified length and source
- Calculates the chosen type of moving average on the RSI
2. **Divergence Detection**:
- Identifies pivot points in both price and RSI
- Checks for higher lows in RSI with lower lows in price (bullish divergence)
- Checks for lower highs in RSI with higher highs in price (bearish divergence)
3. **Trade Entry**:
- Enters a long position when a bullish divergence is detected and RSI is below 40
- Enters a short position when a bearish divergence is detected and RSI is above 60
4. **Position Management**:
- Places a stop loss order at the entry price ± stop loss pips (depending on the direction)
- Sets a take profit order at the entry price ± take profit pips (depending on the direction)
5. **Visualization**:
- Plots the RSI and its moving average
- Draws horizontal lines for overbought/oversold levels
- Displays Bollinger Bands if selected
- Shows divergence labels on the chart for identified setups
## Usage Instructions
1. Apply the script to a 1-minute XAUUSD (Gold) chart in TradingView
2. Adjust the input parameters as needed:
- Increase RSI Length for less frequent but potentially more reliable signals
- Modify MA Type and Length to change the sensitivity of the RSI moving average
- Adjust Stop Loss and Take Profit levels based on current market volatility
3. Monitor the chart for Bull (long) and Bear (short) labels indicating potential trade setups
4. Use in conjunction with other analysis and risk management techniques
## Considerations
- This strategy is designed for short-term scalping and may not be suitable for all market conditions
- Always backtest and forward test the strategy before using it with real capital
- The effectiveness of divergence-based strategies can vary depending on market trends and volatility
- Consider using additional confirmation signals or filters to improve the strategy's performance
Remember to adapt the strategy parameters to your risk tolerance and trading style, and always practice proper risk management.
KT Litmus2
Hello everyone,
Recently I saw a very good indicator on TV called Ichimoku Oscillator. This is a K-line convergence and divergence indicator similar to MACD. After backtesting research, this indicator performs well on long-term trends.
Since it is an indicator, it is made into a strategy category. Several optimizations have also been made.
This strategy takes into account the following market factors:
EMA -> Trend
Fast line - slow line -> moving average
EMA Squeeze -> Momentum Conversion, Trend
ATR -> Noise Reduction
How does it compare to the original indicator?
Optimized background display so the canvas doesn't feel cluttered with excessive colors.
Optimized part of the position reduction logic so that too many trading signals will not affect the performance of the strategy.
NOTE: As you can see, there are potential improvements that can be made by merging volumes.
Signal
Input level -> Kinetic energy enhancement, +4 long, -4 short
Partial exit level -> moving average (EMA | fast and slow line) crossing, trend unchanged
All exit levels -> trend conversion
Risk Management
"Trend Stop Loss" and "Momentum Take Profit" are used here.
Trend stop loss: Use the conversion of the strategy trend parameter wave range to close the order.
Momentum take profit: take advantage of the weakening or reverse trend momentum of the strategy to take profit.
As described, the strategy has obvious advantages in trend trading, but in volatile markets, stop loss may be triggered due to frequent signals.
Now, a set of knowledge is provided for the inexperienced reader.
MACD usually consists of three components. The MACD line is the fast exponential moving average (usually taken on the 12th day) minus the slow exponential moving average (usually taken on the 26th day), generally called the difference (DIF). The second line is the signal line, which is the exponential moving average of DIF (usually 9 days), generally called DEA. The last component is the MACD histogram, whose value is the difference between DIF and DEA. However, the time value of the MACD indicator can also be adjusted according to the trader's preference and trading category.
The underlying logic of DIF is that the short-term exponential moving average reflects current price movements, while the long-term EMA reflects earlier price movements. Therefore, if there is a large gap between these two EMAs, then the market is trending up or down. While the MACD histogram is oscillating around the zero line, indicating the strength of the trend.
EMA: Exponential Moving Average; similar to a simple moving average but exponentially weights the input data.
Sincerely,
salute
---
Acknowledgments:
@LonesomeTheBlue
renew
March 14
Strategies for increasing Python version
Strategy / Connectable [Azullian]The connectable strategy serves as a foundational component in our indicator system on TradingView, designed for intuitive testing, visualization, and construction of trading strategies. In concert with the connectable signal filter , it forms a cohesive unit that allows for efficient signal processing and strategy implementation. This integration enables the strategy to receive and act on weighted signals from various connectable indicators, making it a versatile tool for both novice and experienced traders.
Let's review the separate parts of this indicator.
█ STRATEGY INPUTS
We've provided an input to connect a signal filter or indicators or chains (→) which is set to 'Close' by default.
An input has several controls:
• Input: Connect indicators or signal filter here, choose indicators with a compatible : Signal connector.
• SM - Signal Mode: Choose a trading direction compatible with the settings in your signal filter
█ POSITION INVESTMENT
Determine the percentage of your trading budget you would like to use in each position based on the strategy's profit or loss.
• LINVB - Loss Investment Base: Choose which base to use to determine the investment percentage when the strategy is in a loss.
○ Equity: Use the equity as the base for percentage calculation.
○ Initial capital: Use the initial capital as the base for percentage calculation.
• LINV% - Loss Investment Percentage: Set a percentage of the chosen investment base as the investment for a new position.
○ For example, when 10% in loss, and a initial capital of $100, and the investment base is set to equity with a percentage of 50%, your investment will be 50% of $90, $45.
• PINVB - Profit Investment Base: Choose which base to use to determine the investment percentage when the strategy is in profit.
○ Equity: Use the equity as the base for percentage calculation.
○ Initial capital: Use the initial capital as the base for percentage calculation.
• PINV% - Profit Investment Percentage: Set a percentage of the chosen investment base as the investment for a new position.
○ For example, when 10% in profit, and an initial capital of $100, and the investment base is set to equity with a percentage of 100%, your investment will be 100% of $110, $110.
• RISK% - Risk Percentage:
○ Determine how much of the calculated position investment is at risk when the stop-loss is hit.
- For example, 1% of $45 represents a maximum loss of $0.45.
○ Risk percentage works together with the stop loss and the max leverage.
• MXLVG - Maximum Leverage:
○ Investigate the trading rules for your trading pair and use the maximum allowed amount of leverage.
○ To determine the number of contracts to be bought or sold, considering the stop loss and the specified risk percentage, the maximum leverage available will constrain the amount of leverage utilized to ensure that the maximum risk threshold is not exceeded. For instance, suppose the stop loss is set at 1%, and the risk percentage is defined as 10%. Initially, the calculated leverage to be used would be 10. However, if there is a maximum leverage cap set at 5, it would constrain the calculated leverage of 10 to adhere to the maximum limit of 5.
█ EXIT STOP LOSS
Determine the Stop Loss price based on your selected configuration.
As the stop loss is an integral part of the ordered contracts calculation used in conjunction with the Risk and Max leverage, you'll always need to provide a stop loss price.
• SLB - Stop Loss Base: Choose a stop loss mode for calculating stop loss prices.
○ Risk: Determines the price using the Risk parameter (RISK%) and maximum leverage (MXLVG). In this case, SLB% will not have any impact.
○ Price Entry + Offset: Calculates the stop loss price based on a offset percentage (SLB%) from the entry price of the position.
• SLB% - Stop Loss Base Percentage: Define an offset percentage that will be applied in the price entry + offset stop loss mode.
• SLT - Stop Loss Trailing:
○ Fixed: The initial stop loss will be kept and no trailing stop loss will be applied.
○ Trail Price: Computes the trailing stop loss price based on an offset percentage (SLT%) from the closing price of the current candle.
- If a better stop loss price is calculated, it will be set as the new stop loss price.
○ Trail Incr: Adapts the trailing stop loss price based on the offset percentage (SLT%).
- Each price change in favor of your position will incrementally adapt the trailing stop loss with SLT%.
• SLT% - Stop Loss Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
█ EXIT TAKE PROFIT
Determine the Take Profit price based on your selected configuration.
• TPB - Take Profit Base: Choose a take profit mode for calculating take profit prices.
○ Reward: Determines the take profit price using the Risk parameter (RISK%) and the calculated Stop Loss price and the set reward percentage (TPB%).
- For example: Risk 1%, Calculated Stop loss price: $90, Entry price: $100, Reward (TPB%): 2%, will result in a take profit price on $120.
○ Price Entry + Offset: Calculates the take profit price based on a offset percentage (TPB%) from the entry price of the position.
- For example: Entry price: $100, Offset (TPB%): 2%, will result in a take profit price on $102.
• TPB% - Take Profit Base Percentage: Define an offset percentage that will be applied in the price entry + offset take profit mode.
• TPT - Take Profit Trailing:
○ Fixed: The initial take profit will be kept and no trailing take profit will be applied.
○ Trail Price: Computes the trailing take profit price based on an offset percentage (TPT%) from the closing price of the current candle.
- If an applicable take profit price is calculated, it will be set as the new take profit price.
○ Trail Incr: Adapts the trailing take profit price based on the offset percentage (TPT%). Each price change against your position will incrementally adapt the trailing take profit with TPT%.
• TPT% - Take Profit Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
█ STRATEGY CONDITIONS
Specify when the strategy is permitted to execute trades.
• DATE: Enable the Date Range filter to restrict entries to a specific date range.
○ START: Set a start date and hour to commence trading.
○ END: Set an end date and hour to conclude trading within the defined range.
■ VISUALS
• LINE: Activate a colored dashed diagonal line to visually connect the entry and exit points of positions.
• SLTP: Enable visualization of stop loss, take profit, and break-even levels.
• PNL: Enable Break-Even and Close Lines along with a colored area in between to visualize profit and loss.
• ☼: Brightness % : Adjust the opacity of the plotted trading visuals.
• P - Profit Color : Choose the color for profit-related elements.
• L - Loss Color: Choose the color for loss-related elements.
• B - Breakeven Color : Select the color for break-even points.
• EL - Long Color: Specify the color for long positions.
• ES - Short Color: Specify the color for short positions.
• TRADE LABELING: For better analysis we've labeled all entries and exits conform with the type of order your strategy has executed, some examples:
○ XL-TP-150: Exit Long - Take Profit - Position 150
○ XS-TP-154: Exit Short - Take Profit - Position 154
○ XL-SL-160: Exit Long - Stop Loss - Position 160
○ XS-SL-164: Exit Short - Stop Loss - Position 164
█ USAGE OF CONNECTABLE INDICATORS
■ Connectable chaining mechanism
Connectable indicators can be connected directly to the signal monitor, signal filter or strategy , or they can be daisy chained to each other while the last indicator in the chain connects to the signal monitor, signal filter or strategy. When using a signal filter you can chain the filter to the strategy input to make your chain complete.
• Direct chaining: Connect an indicator directly to the signal monitor, signal filter or strategy through the provided inputs (→).
• Daisy chaining: Connect indicators using the indicator input (→). The first in a daisy chain should have a flow (⌥) set to 'Indicator only'. Subsequent indicators use 'Both' to pass the previous weight. The final indicator connects to the signal monitor, signal filter, or strategy.
■ Set up the strategy with a signal filter and an RSI indicator
Let's connect the Strategy to a connectable signal filter and a connectable RSI indicator :
1. Load all relevant indicators
• Load RSI / Connectable
• Load Signal filter / Connectable
• Load Strategy / Connectable
2. Signal Filter: Connect the RSI to the Signal Filter
• Open the signal filter settings
• Choose one of the three input dropdowns (1→, 2→, 3→) and choose : RSI / Connectable: Signal Connector
• Toggle the enable box before the connected input to enable the incoming signal
3. Signal Filter: Update the filter signals settings if needed
• The default settings of the filter enable EL (Enter Long), XL (Exit Long), ES (Enter Short) and XS (Exit Short).
4. Signal Filter: Update the weight threshold settings if needed
• All connectable indicators load by default with a score of 6 for each direction (EL, XL, ES, XS)
• By default, weight threshold (TH) is set at 5. This allows each occurrence to score, as the default score in each connectable indicator is 1 point above the threshold. Adjust to your liking.
5. Strategy: Connect the strategy to the signal filter in the strategy settings
• Select the strategy input → and select the Signal filter: Signal connector
6. Strategy: Enable filter compatible directions
• Set the signal mode of the strategy to a compatible direction with the signal filter.
Now that everything is connected, you'll notice green spikes in the signal filter representing long signals, and red spikes indicating short signals. Trades will also appear on the chart, complemented by a performance overview. Your journey is just beginning: delve into different scoring mechanisms, merge diverse connectable indicators, and craft unique chains. Instantly test your results and discover the potential of your configurations. Dive deep and enjoy the process!
█ BENEFITS
• Adaptable Modular Design: Arrange indicators in diverse structures via direct or daisy chaining, allowing tailored configurations to align with your analysis approach.
• Streamlined Backtesting: Simplify the iterative process of testing and adjusting combinations, facilitating a smoother exploration of potential setups.
• Intuitive Interface: Navigate TradingView with added ease. Integrate desired indicators, adjust settings, and establish alerts without delving into complex code.
• Signal Weight Precision: Leverage granular weight allocation among signals, offering a deeper layer of customization in strategy formulation.
• Advanced Signal Filtering: Define entry and exit conditions with more clarity, granting an added layer of strategy precision.
• Clear Visual Feedback: Distinct visual signals and cues enhance the readability of charts, promoting informed decision-making.
• Standardized Defaults: Indicators are equipped with universally recognized preset settings, ensuring consistency in initial setups across different types like momentum or volatility.
• Reliability: Our indicators are meticulously developed to prevent repainting. We strictly adhere to TradingView's coding conventions, ensuring our code is both performant and clean.
█ COMPATIBLE INDICATORS
Each indicator that incorporates our open-source 'azLibConnector' library and adheres to our conventions can be effortlessly integrated and used as detailed above.
For clarity and recognition within the TradingView platform, we append the suffix ' / Connectable' to every compatible indicator.
█ COMMON MISTAKES AND CLARIFICATIONS
• Removing an indicator from a chain: Deleting a linked indicator and confirming the "remove study tree" alert will also remove all underlying indicators in the object tree. Before removing one, disconnect the adjacent indicators and move it to the object stack's bottom.
• Point systems: The azLibConnector provides 500 points for each direction (EL: Enter long, XL: Exit long, ES: Enter short, XS: Exit short) Remember this cap when devising a point structure.
• Flow misconfiguration: In daisy chains the first indicator should always have a flow (⌥) setting of 'indicator only' while other indicator should have a flow (⌥) setting of 'both'.
• Recalculate: While this strategy has undergone extensive testing, enabling recalculation options like 'After order is filled' or 'On every tick' may lead to unexpected behavior.
• Fill orders: The strategy is thoroughly tested, yet enabling fill order options such as 'Using bar magnifier', 'On bar close', or 'Using standard OHLC' might result in unexpected outcomes.
• Layout and abbreviations: To maintain a consistent structure, we use abbreviations for each input. While this may initially seem complex, you'll quickly become familiar with them. Each abbreviation is also explained in the inline tooltips.
• Optimized for crypto trading: While many principles are common across markets, this strategy is specifically optimized and tested for crypto trading.
• Inputs: Connecting a connectable indicator directly to the strategy delivers the raw signal without a weight threshold, meaning every signal will trigger a trade.
█ A NOTE OF GRATITUDE
Through years of exploring TradingView and Pine Script, we've drawn immense inspiration from the community's knowledge and innovation. Thank you for being a constant source of motivation and insight.
█ RISK DISCLAIMER
Azullian's content, tools, scripts, articles, and educational offerings are presented purely for educational and informational uses. Please be aware that past performance should not be considered a predictor of future results.
TTP Intelligent AccumulatorThe intelligent accumulator is a proof of concept strategy. A hybrid between a recurring buy and TA-based entries and exits.
Distribute the amount of equity and add to your position as long as the TA condition is valid.
Use the exit TA condition to define your exit strategy.
Decide between adding only into losing positions to average down or take a riskier approach by allowing to add into a winning position as well.
Take full profit or distribute your exit into multiple take profit exists of the same size.
You can also decide if you allow your exit conditions to close your position in a loss or require a minimum take profit %.
The strategy includes a default built-in TA conditions just for showcasing the idea but the final intent of this script is to delegate the TA entries and exists to external sources.
The internal conditions use RSI length 7 crossing below the BB with std 1 for entries and above for exits.
To control the number of orders use the properties from settings:
- adjust the pyramiding
- adjust the percentage of equity
- make sure that pyramiding * % equity equals 100 to prevent over use of equity (unless using leverage)
The script is designed as an alternative to daily or weekly recurring buys but depending on the accuracy of your TA conditions it might prove profitable also in lower timeframes.
The reason the script is named Intelligent is because recurring buy is most commonly used without any decision making: buy no matter what with certain frequency. This strategy seeks to still perform recurring buys but filtering out some of the potential bad entries that can delay unnecessarily seeing the position in profits. The second reason is also securing an exit strategy from the beginning which no recurring buy option offers out-of-the-box.
MACD + MA HTF Strategy - Dynamic SmoothingMACD + MA HTF Strategy - Dynamic Smoothing
The MACD alone generally gives too many false signals and is therefore often used in combination with different indicators. The basic idea to combine the MACD with a moving average on a higher time frame is a commonly used technique to only enter Longs in a uptrend and only Shorts in a downtrend while trading on lower timeframe charts. However, the main issue in many strategy scripts is that the HTF indicator is not visible on lower timecharts. With this strategy example I used the Dynamic Smoothing code to visualise the HTF MA filter to display on you lower timechart. This way it is easier to optimize the strategy settings to the instrument chart.
Orginality and Usefulness - Dynamic Smoothing
Visualizing a higher time frame on a lower timechart often gives jagged lines on your chart. As the calculation is done on less bars, compared to the bars you have open on your timechart. The dynamic smoothing factor is derived by taking the ratio of minutes of the higher time frame to the current time frame. This ensures the moving average remains fluid and consistent across different time frames, eliminating 'jagged' lines on your chart. This new MA value is then used as HTF filter on top of the MACD entry settings. Always make sure the time chart is equal or lower than the timeframe settings in the configuration settings. The intention of the script is to visualise the higher time frame confirmations while trading on a lower timechart.
Code example how to achieve Dynamic Smoothing:
// Get minutes for current and higher timeframes
// Function to convert a timeframe string to its equivalent in minutes
timeframeToMinutes(tf) =>
multiplier = 1
if (str.endswith(tf, "D"))
multiplier := 1440
else if (str.endswith(tf, "W"))
multiplier := 10080
else if (str.endswith(tf, "M"))
multiplier := 43200
else if (str.endswith(tf, "H"))
multiplier := int(str.tonumber(str.replace(tf, "H", "")))
else
multiplier := int(str.tonumber(str.replace(tf, "m", "")))
multiplier
// Get minutes for current and higher timeframes
currentTFMinutes = timeframeToMinutes(timeframe.period)
higherTFMinutes = timeframeToMinutes(TimeFrame_Trend)
// Calculate the smoothing factor
dynamicSmoothing = math.round(higherTFMinutes / currentTFMinutes)
MA_Value_Smooth = ta.sma(MA_Value_HTF, dynamicSmoothing)
Complete Strategy
The MACD and HTF moving average is used to determine when to enter a new position. However a strategy should consider more factors than only the timing of entering a trade. To complete the strategy I included:
an option to choose from different MA types per indicator
a Risk Management Tool
a Take Profit Logic
a Trailing stop loss
a Hard Stoploss
a visual representation of TP and SL
This is merely an example how to structure a strategy and many different setups are possible.
The features in this script are explained below:
Different MA types
The script supports various MA types like EMA, SMA, DEMA, TEMA, WMA and HMA. You can select the MA type and different timeframe to your liking.
Risk Management Tool
Traders can choose to allocate their position size based on a percentage of equity or a fixed number of contracts. This feature ensures prudent risk management and helps traders align their position sizes with their risk tolerance. In the strategy -0.5 is equal to 50% of equity and 1.5 is 150% of equity used. Make sure to align the % of equity with your maxdrawn results with backtesting. Personally I don't want higher max drawdowns than 15%. For the strategy results the script considers 0.05 commission rate on each trade, to stay conservative. For a more detailed explanation I refer to my earlier published tradingviewblog about risk management:
Take Profit Logic
The take profit logic in this script is designed for optimization, offering three distinct exit levels. Traders can customize these levels based on their risk appetite. The script allows adjustment of both the percentage take profit level and the position size, catering to individual trading strategies and objectives. The default settings closes 33% of the position when TP target is hit. The TP levels are simply calculated by inputting a % of of the entryprice.
Trailing Stop and Hard Stoploss
To mitigate downside risks and protect profits, the script incorporates a well-thought-out trailing stop mechanism based on the Average True Range (ATR). This dynamic trailing stop adapts to market volatility, allowing traders to secure gains while letting profitable positions run. Additionally, to prevent significant losses, a fixed stop loss is implemented, providing an added layer of protection.
Visual Representation of Take Profit and Stoploss Levels
For enhanced visualization, take profit and stoploss levels are displayed on the chart. Take profit levels are depicted with green lines, providing a clear indication of potential exit points. Conversely, the trailing stop loss is presented by the red line, serving as visual cues for risk management. Visualizing indicators makes is easier to optimize settings to your liking.
Ideal Settings and Accessibility
This script is intended to be used on lower timeframe charts like 10 to 30 minutes. You can Align the MACD entry settings equal to your opened timechart or use a slightly higher timeframe. For the MA trend filters, higher timeframe settings such as 30 min, 1 hour, 4 hours, or 1 day are recommended for trading the trend.
Disclaimer
Trading involves significant risk and may not be suitable for all investors. The information provided in this script is for educational purposes only and should not be considered as financial advice. Past performance is not indicative of future results. By using this script, you acknowledge that you understand and accept these risks.
Price Action Pattern Breakout Strategy: Wedge,Triangle,ChannelIntroducing the Price Action Pattern Breakout Strategy: Wedge,Triangle,Channel 💹🚀
The "Price Action Pattern Breakout Strategy: Wedge, Triangle, Channel" is a dynamic and automated trading strategy that excels in recognizing and capitalizing on breakout opportunities within the realm of powerful price action patterns. It is finely tuned to achieve exceptional precision in detecting three distinct pattern types: Wedge, Triangle, and Channel. This diversity equips you to confidently navigate a wide range of market scenarios and opportunities.
This strategy automates trade entries and exits upon confirmed pattern breakouts, this eliminates human errors in correctly recognizing patterns and prevents emotional decisions. This strategy is designed to work across different time frames, making it suitable for both short-term and long-term traders. Whether you're a day trader, swing trader, or investor, this strategy provides the flexibility you need to thrive in diverse market conditions.
💎 How it Works:
▶️ In this strategy, three price action patterns have been utilized, one of which is the "Wedge" pattern. The Wedge pattern has consistently demonstrated a high level of credibility, typically resulting in sharp and rapid price movements following a confirmed breakout from this pattern. This characteristic makes the Wedge pattern highly noteworthy in our strategy. The second pattern is the "Triangle" pattern, which, depending on its formation, whether ascending or descending, can indicate a strong continuation or reversal of the trend. The last pattern is the "Channel" pattern. The reason for using the Channel pattern is its versatility in various market conditions and its tendency to produce reliable results.
In the snapshot below, you can observe the types of patterns that this strategy is capable of identifying at a glance:
▶️ This strategy employs two types of targeting systems: Fixed Targets and Trailing Targets.
Fixed Targets is the default targeting system of the strategy, incorporating two primary targets: TP1 (Target Point 1) and TP2 (Target Point 2). These targets are thoughtfully adjusted in alignment with specific rules for each pattern. With Fixed Targets, you have the flexibility to designate the position size percentage for your exits at TP1 and TP2. For instance, should you opt to allocate 60% of your position size to TP1, as soon as the price triggers the first take profit level, 60% of your initial position is gracefully closed, leaving the remaining 40% to exit the trade upon reaching TP2.
Trailing Targets represent the strategy's alternative targeting system. With this system, the trailing stop becomes active once the price reaches the specified trigger point. The strategy then exits the trade based on the defined offset percentage and price retracement from the trailing limit.
▶️ This strategy relies on a single type of stop loss, determined by previous pivot points and adjusted based on the trade's direction, whether long or short, placing the stop loss above or below the prior pivot. This stop loss approach has demonstrated reliability when used alongside price action patterns.
In addition to this fixed stop loss, you can specify a percentage buffer, offering protection against potential stop hunting due to market fluctuations. This buffer helps protect your positions from sudden price swings. For example, selecting a 1% buffer means your stop loss will be positioned 1% higher or lower concerning the last pivot, depending on your trade's direction. This added layer of security ensures your trades remain resilient and less vulnerable to market volatility.
▶️ A practical feature of this strategy is the "Risk-Free" option. Once activated, it continuously monitors price movements, and as soon as the price progresses in the trade's direction and surpasses the designated Risk-Free Trigger Point in percentage, the stop loss is dynamically shifted from its initial position to the entry price, effectively making the trade "risk-free." This means that if the trade doesn't go as expected, we exit at the entry point, incurring neither profit nor loss from the trade.
Additionally, you have the flexibility to fine-tune the modified stop loss, positioning it slightly above or below the entry price through the configuration of a specified percentage. This allows for effective consideration of commission fees in your trading strategy.
▶️ Risk management is a crucial concept in trading, playing a significant role in a trader's long-term success. This strategy introduces a unique feature called "Fixed Loss Position Sizing", where upon activation, you can limit the risk exposure to a specified percentage of your capital per trade. Set your preferred risk percentage along with the intended leverage. The strategy independently considers your available capital and designated leverage, determining the position size before executing any trade.
In the case of a stop loss, your loss is limited to the specified risk percentage. For instance, with a $1000 account and a 1% risk set, the strategy adjusts each trade's size to ensure a maximum loss of $10 if the stop loss is triggered. Enabling this feature will ensure disciplined risk management, aligning potential losses precisely with your predetermined risk percentage, contingent upon your total available capital.
▶️ Another feature of this strategy is a sophisticated mechanism called "Loss Compensation". When enabled, Loss Compensation dynamically adjusts the position size after a loss, aiming to recover from previous losses in subsequent trades. This adaptive mechanism continually modifies the position size to mitigate the impact of consecutive losses until reaching a user-defined limit for consecutive loss compensations.
The feature's configurability allows users to set the maximum number of consecutive losses to compensate for and also includes an option to factor in trading fees from prior trades into the compensation calculation. Loss Compensation operates in conjunction with the 'Fixed Loss Position Sizing' setting, ensuring that once losses are sufficiently compensated, subsequent entries revert to the predefined configurations within the 'Fixed Loss Position Sizing' settings.
This advanced tool ensures a stable risk management approach by changing trade sizes dynamically according to past results during consecutive loss periods.
▶️ This strategy incorporates a feature known as the "Counter-Pattern Breakout", altering its approach to wedge, triangle, and channel pattern breakouts. Normally, the strategy relies on standard pattern signals to determine whether to enter long or short positions based on breakout directions.
For example, in an ascending channel or a rising wedge pattern, the strategy typically seeks a short position opportunity upon a confirmed breakout in the lower line, and breakouts from the upper line are disregarded by the strategy. But with this feature enabled, strategy disregards the conventional pattern signals, seizing breakouts from upper or lower lines to open corresponding positions. For instance, in the ascending channel or the rising wedge pattern example, the strategy might enter a long position if the upper line breaks or a short position if the lower line breaks.
This introduces a more adaptive and opportunistic trading style, allowing you to capitalize on price movements, irrespective of the typical signal direction indicated by the pattern.
▶️ This strategy is fully compatible with third-party trading bots, allowing for easy connectivity to popular trading platforms. By leveraging the TradingView webhook functionality, you can effortlessly link the strategy to your preferred bot and receive accurate signals for position entry and exit. The strategy provides all the necessary alert message fields, ensuring a smooth and user-friendly trading experience. With this integration, you can automate the execution of trades, saving time and effort while enjoying the benefits of this powerful strategy.
⚙️ How to Use & Configure User Settings:
To fully utilize the "Price Action Pattern Breakout Strategy: Wedge, Triangle, Channel," it's essential to consider and comprehend the following steps. They play a crucial role in enhancing its functionality and achieving its utmost potential outcomes:
1. General Strategy Settings:
Enable Dark Mode if using a dark TradingView theme for improved chart visibility.
Select the Strategy's Trade Direction: Long, Short, or Both.
Choose Pattern Recognition Accuracy: High for precise recognition but fewer positions, Low for more positions with slightly less accuracy.
Enable 'Prevent New Entry on Opposite Signal While In Position' to avoid new trades if the opposite signal occurs.
Switch to Indicator Mode if solely using the strategy as an indicator or in combination with other strategies.
2. Pattern and Pivot Configuration:
Consider configuring the Number of Patterns and Pivot Lookback Lengths. Here, you can personalize the pivot lookback lengths for wedge, triangle, and channel patterns across eight different settings on your chart. For lower time frames, consider larger lengths to reduce chart noise. Alternatively, to maintain clarity on your chart, you can disable multiple patterns with different lengths while ensuring at least one pattern remains enabled.
Note that enabling more patterns doesn't always equate to increased potential profit. Sometimes, fewer patterns result in greater profit potential, and vice versa. Experiment with lengths and the number of patterns to determine the most profitable and optimal outcome for your trading symbol and timeframe.
3. Targeting System Selection:
Choose between 'Fixed Targets' or 'Trailing Targets' for your targeting system.
'Fixed Targets' is the default setting, operational when 'Trailing Targets' are turned off.
Set the TP1 Position Size as a percentage, defining the size for TP1, and the rest exits at TP2.
Optionally activate 'Skip Entry if TP1 is Passed' to bypass entering positions if the price has exceeded TP1.
Alternatively, opt for the 'Trailing Target' for dynamic exits based on trigger points and offsets. Note that this option disables fixed targets.
4. Stop Loss Configuration:
Determine the number of candles to consider for stop loss placement based on the last pivot.
Optionally add a percentage to the stop loss to create a buffer against market fluctuations, guarding your positions from sudden price swings.
5. Risk Management Configuration:
You can activate the 'Risk-Free' feature, making your trades risk-free by moving the stop loss to the entry price upon reaching a specified trigger point.
You have the possibility to enable 'Fixed Loss Position Sizing' to limit risk to a percentage of total capital per trade, ensuring prudent risk management.
You can employ 'Use Real-Time Balance for Each Entry' to precisely calculate fixed loss position sizing according to the real-time balance for every entry.
The 'Loss Compensation' feature can be activated to automatically adjust trade sizes during consecutive losses and compensate for prior incurred losses.
Loss compensation continues adjusting trade sizes until it reaches the defined limit of consecutive losses specified in the 'Maximum Consecutive Losses To Compensate' field.
You can factor in commission fees by specifying a percentage in the 'Include Trading Fees in Compensation (%)' field, providing an option for more accurate loss compensation calculations.
You have the option to enable 'Limit Compensation to Real-Time Balance' to prevent consecutive loss compensation from exceeding your current real-time account balance.
It's important to note that for the 'Loss Compensation' feature to operate, the 'Fixed Loss Position Sizing' must be enabled.
6. Counter-Pattern Breakout Configuration:
In this section you have the option to enable the "Counter-Pattern Breakout" feature to adjust the strategy's approach to wedge, triangle, and channel pattern breakouts. Once enabled, the strategy disregards traditional pattern signals and capitalizes on breakouts from either the upper or lower lines, initiating corresponding positions accordingly.
Choose between 'Fixed Target' or 'Trailing Target' for your targeting system. If you opt for the 'Fixed Target', set a specific target point as a percentage, serving as the default target for counter-pattern breakouts. Alternatively, choose the 'Trailing Target' for dynamic exits based on trigger points and offsets. Do keep in mind that selecting the 'Trailing Target' option disables the fixed target setting.
Keep in mind that for standard, non-counter-pattern breakouts, the target point settings in their respective sections remain applicable, distinct from the settings configured for targeting within this section.
Note that the stop loss configurations are shared across standard pattern and counter-pattern breakouts and can be adjusted within the stop loss section.
7. Info Tables:
In the info tables section, you can show or hide different tables on the charts. This includes the backtest table, the current balance table displaying available funds, and a table showcasing Maximum Consecutive Wins or Losses. Choose which to display according to your preferences and specific needs.
8.Date & Time Range Filter:
Utilize the Date & Time Range filter feature to precisely select a start and end date, including time, to filter data within the chosen range.
When connecting this strategy to a trading bot for automated trades, ensure to set the start date and time to the intended initiation moment to avoid undesired outcomes as this directly affects the real-time balance calculations of the strategy.
8. Integration with Third-Party Bots:
To automate trading, leverage the strategy's compatibility with third-party trading bots. Seamlessly integrate the strategy into well-known trading platforms by using alert message fields to input commands from third-party trading bots, enabling automated trade execution for both long and short positions.
By furnishing these adjustable settings, the strategy empowers you to personalize it according to your unique requirements, thereby bolstering the adaptability and efficacy of your trading approach.
🔐 Source Code Protection:
The 'Price Action Pattern Breakout Strategy: Wedge, Triangle, Channel' source code is engineered for precision, reliability, and effectiveness. Its original and innovative design warrants protection and restricted access, preserving the strategy's exclusivity. Safeguarding the code maintains the strategy's integrity and distinctiveness, providing users with a competitive advantage in their trading endeavors.
Improved EMA & CDC Trailing Stop StrategyImproved EMA & CDC Trailing Stop Strategy
Objective: This strategy seeks to exploit potential trend reversals or continuations using Exponential Moving Averages (EMAs) and a trailing stop based on the Chande Dynamic Convergence Divergence (CDC) ATR method.
Components:
Exponential Moving Averages (EMAs):
60-period EMA (Blue Line): Faster-moving average that reacts more quickly to price changes.
90-period EMA (Red Line): Slower-moving average that provides a smoother indication of long-term price direction.
MACD Indicator:
Utilized to confirm the trend direction. When the MACD line is above its signal line, it may indicate a bullish trend. Conversely, when the MACD line is below its signal line, it may indicate a bearish trend.
CDC Trailing Stop ATR:
Used to set dynamic stop-loss levels that adjust with market volatility. This stop is based on the Average True Range (ATR) with a user-defined multiplier, providing the strategy with a flexible way to protect against adverse price movements.
Profit Targets:
Based on a multiple of the ATR, this sets an objective level at which to take profits, ensuring gains are captured while potentially still leaving room for further profitable movement.
Trading Rules:
Entry:
Long (Buy) Entry Conditions:
Price is above the 60-period EMA.
The 60-period EMA is above the 90-period EMA.
The MACD line is above its signal line.
Price is above the calculated CDC Trailing Stop ATR level.
Short (Sell) Entry Conditions:
Price is below the 60-period EMA.
The 60-period EMA is below the 90-period EMA.
The MACD line is below its signal line.
Price is below the calculated CDC Trailing Stop ATR level.
Exit:
Long (Buy) Exit Conditions:
Price reaches the predetermined profit target based on the ATR.
Price drops below the CDC Trailing Stop ATR level.
Short (Sell) Exit Conditions:
Price reaches the predetermined profit target based on the ATR.
Price rises above the CDC Trailing Stop ATR level.
Visualization:
The strategy displays the 60-period and 90-period EMAs on the chart.
The CDC Trailing Stop ATR levels for both long and short trades are also plotted for clarity.
The MACD Histogram is shown to visualize the difference between the MACD line and its signal line.
Recommendations: Before deploying this strategy, traders should backtest it across various historical data sets and market conditions. Regularly reviewing and potentially adjusting the strategy is recommended as market dynamics evolve.
YinYang RSI Volume Trend StrategyThere are many strategies that use RSI or Volume but very few that take advantage of how useful and important the two of them combined are. This strategy uses the Highs and Lows with Volume and RSI weighted calculations on top of them. You may be wondering how much of an impact Volume and RSI can have on the prices; the answer is a lot and we will discuss those with plenty of examples below, but first…
How does this strategy work?
It’s simple really, when the purchase source crosses above the inner low band (red) it creates a Buy or Long. This long has a Trailing Stop Loss band (the outer low band that's also red) that can be adjusted in the Settings. The Stop Loss is based on a % of the inner low band’s price and by default it is 0.1% lower than the inner band’s price. This Stop Loss is not only a stop loss but it can also act as a Purchase Available location.
You can get back into a trade after a stop loss / take profit has been hit when your Reset Purchase Availability After condition has been met. This can either be at Stop Loss, Entry or None.
It is advised to allow it to reset in case the stop loss was a fake out but the call was right. Sometimes it may trigger stop loss multiple times in a row, but you don’t lose much on stop loss and you gain lots when the call is right.
The Take Profit location is the basis line (white). Take Profit occurs when the Exit Source (close, open, high, low or other) crosses the basis line and then on a different bar the Exit Source crosses back over the basis line. For example, if it was a Long and the bar’s Exit Source closed above the basis line, and then 2 bars later its Exit Source closed below the basis line, Take Profit would occur. You can disable Take Profit in Settings, but it is very useful as many times the price will cross the Basis and then correct back rather than making it all the way to the opposing zone.
Longs:
If for instance your Long doesn’t need to Take Profit and instead reaches the top zone, it will close the position when it crosses above the inner top line (green).
Please note you can change the Exit Source too which is what source (close, open, high, low) it uses to end the trades.
The Shorts work the same way as the Long but just opposite, they start when the purchase source crosses under the inner upper band (green).
Shorts:
Shorts take profit when it crosses under the basis line and then crosses back.
Shorts will Stop loss when their outer upper band (green) is crossed with the Exit Source.
Short trades are completed and closed when its Exit Source crosses under the inner low red band.
So, now that you understand how the strategy works, let’s discuss why this strategy works and how it is profitable.
First we will discuss Volume as we deem it plays a much bigger role overall and in our strategy:
As I’m sure many of you know, Volume plays a huge factor in how much something moves, but it also plays a role in the strength of the movement. For instance, let’s look at two scenarios:
Bitcoin’s price goes up $1000 in 1 Day but the Volume was only 10 million
Bitcoin’s price goes up $200 in 1 Day but the Volume was 40 million
If you were to only look at the price, you’d say #1 was more important because the price moved x5 the amount as #2, but once you factor in the volume, you know this is not true. The reason why Volume plays such a huge role in Price movement is because it shows there is a large Limit Order battle going on. It means that both Bears and Bulls believe that price is a good time to Buy and Sell. This creates a strong Support and Resistance price point in this location. If we look at scenario #2, when there is high volume, especially if it is drastically larger than the average volume Bitcoin was displaying recently, what can we decipher from this? Well, the biggest take away is that the Bull’s won the battle, and that likely when that happens we will see bullish movement continuing to happen as most of the Bears Limit Orders have been fulfilled. Whereas with #2, when large price movement happens and Bitcoin goes up $1000 with low volume what can we deduce? The main takeaway is that Bull’s pressured the price up with Market Orders where they purchased the best available price, also what this means is there were very few people who were wanting to sell. This generally dictates that Whale Limit orders for Sells/Shorts are much higher up and theres room for movement, but it also means there is likely a whale that is ready to dump and crash it back down.
You may be wondering, what did this example have to do with YinYang RSI Volume Trend Strategy? Well the reason we’ve discussed this is because we use Volume multiple times to apply multiplications in our calculations to add large weight to the price when there is lots of volume (this is applied both positively and negatively). For instance, if the price drops a little and there is high volume, our strategy will move its bounds MUCH lower than the price actually dropped, and if there was low volume but the price dropped A LOT, our strategy will only move its bounds a little. We believe this reflects higher levels of price accuracy than just price alone based on the examples described above.
Don’t believe us?
Here is with Volume NOT factored in (VWMA = SMA and we remove our Volume Filter calculation):
Which produced -$2880 Profit
Here is with our Volume factored in:
Which produced $553,000 (55.3%)
As you can see, we wen’t from $-2800 profit with volume not factored to $553,000 with volume factored. That's quite a big difference! (Please note previous success does not predict future success we are simply displaying the $ amounts as example).
Now how about RSI and why does it matter in this strategy?
As I’m sure most of you are aware, RSI is one of the leading indicators used in trading. For this reason we figured it would only make sense to incorporate it into our calculations. We fiddled with RSI for quite awhile and sometimes what logically seems to be the right way to use it isn’t. Now, because of this, our RSI calculation is a little odd, but basically what we’re doing is we calculate the RSI, then turn it into a percentage (between 0-1) that can easily be multiplied to the price point we need. The price point we use is the difference between our high purchase zone and our low purchase zone. This allows us to see how much price movement there is between zones. We multiply our zone size with our RSI multiplication and we get the amount we will add +/- to our basis line (white line). This officially creates the NEW high and low purchase zones that we are actually using and displaying in our trades.
If you found that confusing, here are some examples to why it is an important calculation for this strategy:
Before RSI factored in:
Which produced 27.8% Profit
After RSI factored in:
Which produced 553% Profit
As you can see, the RSI makes not only the purchase zones more accurate, but it also greatly increases the profit the strategy is able to make. It also helps ensure an relatively linear profit slope so you know it is reliable with its trades.
This strategy can work on pretty much anything, but you should tweak the values a bit for each pair you are trading it with for best results.
We hope you can find some use out of this simple but effective strategy, if you have any questions, comments or concerns please let us know.
HAPPY TRADING!
[Volume Profile] Signal Clean Up Analysis with Backtest (TSO) This is a full-cycle trading system indicator, which uses Volume Profile for generating signals using a custom developed algorithm, TP (Take Profit) and SL (Stop Loss) levels. There are 2 SOURCES for signals (each can be used separately or both can be used at the same time, each signal SOURCE is using Volume Profile levels to open optimal trade direction) with chained (NOTE: You can select several or ALL of the features, this is not limited to either one) signal cleanup and analysis approach with scheduling and alerting capabilities. Works with most popular timeframes: 1M, 5M, 15M, 1H, 4H, D, great for intraday trading!
NOTE: Every calculation is done on a confirmed closed candle bar state, so the indicator will never repaint!
===========================================================================
Explanation of all the Features | Configuration Guide | Indicator Settings | Signal Cleanup Analysis
---------------------------------------------------------------------------
>>> Customizable Backtesting for a specific date range, results via TradingView strategy, which includes “Deep Backtesting” for largest amounts of data on trading results.
>>> Trading Schedule with customizable trading daily time range, automatic closing/alert trades before Power Hour or right before market closes or leave it open until next day.
>>> 3 Trading Systems.
>>> Multiple Signal SOURCEs for opening trades, either SOURCE can be used or both at the same time!
>>> Static/Dynamic Stop-Loss setups (HIGHLIGHT: Stop-Loss will be moved to Entry after TP1 is taken, which minimizes risk).
>>> Single or Multiple profit targets (up to 3).
>>> Take-Profit customizable offset feature (set your Take-Profit targets slightly before everyone is expecting it!).
>>> Candle bar signal analysis (matching candle color, skip opposite structured and/or doji candle uncertain signals).
>>> Additional analysis of VWAP/EMA/ATR/EWO (Elliot Wave Oscillator)/Divergence MACD+RSI/Volume signal confirmation (clean up your chart with indicator showing only the best potential signals!).
>>> Advanced Alerts setup, which can be potentially setup with a trading bot over TradingView Webhook (NOTE: This will require advanced programming knowledge).
===========================================================================
Labels, plots, colors explanations:
---------------------------------------------------------------------------
>>>>> Signal SOURCE(s): Green/Red arrows, which will be shown unconditionally, outside of trade engine and can be hidden if desired.
>>>>> LONG open: green "house" looking arrow below candle bar.
>>>>> SHORT open: red "house" looking arrow above candle bar.
>>>>> LONG/SHORT take-profit target: green/red circles (multi-profit > TP2/3/4/5 smaller circles).
>>>>> LONG/SHORT take-profit hits: green/red diamonds.
>>>>> LONG/SHORT stop-loss target: green/red + crosses.
>>>>> LONG/SHORT stop-loss hits: green/red X-crosses.
>>>>> LONG/SHORT EOD close (profitable trade): green/red squares.
>>>>> LONG/SHORT EOD close (loss trade): green/red PLUS(+)-crosses.
===========================================================================
Date Range and Trading Schedule Settings
---------------------------------------------------------------------------
>>>>> Date Range: Select your start and/or end dates (uncheck “End” for indicator to show results up to the very moment and to use for LIVE trading) for backtesting results, if not using backtesting – uncheck “Start”/“End” to turn it off.
>>>>> Use TradingView “Strategy Tester” to see backtesting results
NOTE: If Strategy Tester does not show any results with Date Ranged fully unchecked, there may be an issue where a script opens a trade, but there is not enough TradingView power to set the Take-Profit and Stop-Loss and somehow an open trade gets stuck and never closes, so there are “no trades present”. In such case you will need to manually check “Start”/“End” dates or use “Depp Backtesting” feature!
>>>>> Trading Schedule: This is where you can setup Intraday Session or any custom session schedule you wish. Turn it ON. Select trading hours. Select EOD (End of Day) setting (NOTE: If it will be OFF, the indicator will assume you are holding your position open until next day!).
>>> Trading Systems: 1) "Open Until Closed by TP or SL": the signal will only open a trade if no trades are currently open/trunning, a trade can only be closed by Take Profit, Stop Loss or End of Day close (if turned on) | 2) "Open Until Closed by TP or SL + OCA": Same as 1), but if there is an opposite signal to the trade which is currently open > it will immediately be closed with new trade open or End of Day close (if turned on) | 3) "OCA (no TP or SL)": There are is Take Profit or Stop Loss, only an opposite signal will close current trade and open an opposite one or End of Day close (if turned on)
>>>>> MULTIPROFIT | TP (Take-Profit) System: Once the trade is open, all Take-Profit target(s) are immediately calculated and set for the trade > once the target(s) is hit > trade will be partially closed (if candle bar closes beyond several Take-Profit targets > trade will be reduced accordingly to the amount of how many Take-Profit targets were hit)
>>>>> MULTIPROFIT | SL (Stop-Loss) System: 1) Static – Once the trade is open, Stop-Loss is calculated and set for the remaining of the trade ||| 2) Dynamic – At trade open, Stop-Loss is calculated and set the same way, however once 1st Take-Profit is taken > Stop-Loss is moved to Entry, reducing the risk.
>>>>> # of TPs (number of take profit targets): Just like it is named, this is where you select the number of Take-Profit targets for your trading system (NOTE: If "OCA (no TP or SL)" Trading System is selected, this setting won’t do anything, since there are no TP or SLs for that system).
>>>>> TP(s) offset: This is a special feature for all Take-Profit targets, where you can turn on a customizable offset, so that if the price is almost hitting the Take-Profit target, but never actually touches it > you will capture it. This is good to use with HHLL (Highest High Lowest Low), which is pretty much a Support/Resistance as often the price will nearly touch these strong areas and turn around…
===========================================================================
Take-Profit and Stop-Loss visual example:
---------------------------------------------------------------------------
1) A simply nice intraday trading day for SPY (S&P500 ETF TRUST) with a single Take-Profit target on each trade.
See how Take-Profit distances increase with price momentum and how Stop-Loss is following the trade reducing the risk!
2) Same intraday trading day for SPY (S&P500 ETF TRUST) with 3 Take-Profit targets with static Stop-Loss.
3) Same intraday trading day for SPY (S&P500 ETF TRUST) with 3 Take-Profit targets with dynamic Stop-Loss.
You can see how Stop-Loss was moved once TP1 is taken!
===========================================================================
Trade Analysis and Cleanup Settings
---------------------------------------------------------------------------
>>>>> Candle Analysis | Candle Color signal confirmation: If closed candle bar color does not match the signal direction > no trade will be open.
>>>>> Candle Analysis | Skip opposite candle signals: If closed candle bar color will match the signal direction, but candle structure will be opposite (for example: bearish green hammer, long high stick on top of a small green square) > no trade will be open.
>>>>> Candle Analysis | Skip doji candle signals: If closed candle bar will be the uncertain doji > no trade will be open.
>>>>> Divergence/Oscillator Analysis | EWO (Elliot Wave Oscillator) signal confirmation: LONG will only be open if at signal, EWO is green or will be at bullish slope (you can select which setting you desire), SHORT if EWO is red or will be at bearish slope.
>>>>> Divergence/Oscillator Analysis | VWAP signal confirmation: LONG will only be open if at signal, the price will be above VWAP, SHORT if below.
>>>>> Divergence/Oscillator Analysis | Moving Average signal confirmation: LONG will only be open if at signal, the price will be above selected Moving Average, SHORT if below.
>>>>> Divergence/Oscillator Analysis | ATR signal confirmation: LONG will only be open if at signal, the price will be above ATR, SHORT if below.
>>>>> Divergence/Oscillator Analysis | RSI + MACD signal confirmation: LONG will only be open if at signal, RSI + MACD will be bullish, SHORT if RSI + MACD will be bearish.
>>>>> Volume signal confirmation: LONG/SHORT will only be open if closing candle volume is 150% above average Volume based on the Volume Length.
===========================================================================
Alert Settings (you don’t have to touch this section unless you will be using TradingView alerts through a Webhook to use with trading bot)
---------------------------------------------------------------------------
Here is how a LONG OPEN alert looks like (each label is customizable + I can add up more items/labels if needed):
COIN: BTCUSD
TIMEFRAME: 15M
LONG: OPEN
ENTRY: 20000
TP1: 20500
TP2: 21000
TP3: 21500
SL: 19000
Leverage: 0
===========================================================================
Adding Alerts in TradngView
---------------------------------------------------------------------------
-Right-click anywhere on the TradingView chart
-Click on Add alert
-Condition: Select this indicator by it’s name
-Alert name: Whatever you want
-Hit “Create”
-Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
===========================================================================
If you have any questions or issues with the indicator, please message me directly via TradingView.
---------------------------------------------------------------------------
Good Luck! (NOTE: Trading is very risky, past performance is not necessarily indicative of future results, so please trade responsibly!)
Premium VWAP Trendfollow Strategy [wbburgin]This is a strongly-revised version of my VWAP Trendfollow Strategy, which follows a substantial reworking to address various structural inefficiencies with the script, such as the narrowing of the standard deviation band upon anchor reset. I will continue updating the original script with planned adjustments, this is a different proof-of-concept that builds off of the original script thesis with a different calculation method and execution.
This strategy is not built for any specific asset or timeframe, and has been backtested on crypto and equities from 1 min-1 day. The previous experimental strategy was heavily-correlated with the actual movement of the asset, which added unpalatable risk to the strategy and increased drawdown. This revised form has a more stable backtesting curve, but I want to heavily emphasize that I cannot guarantee that the strategy will be profitable for your circumstances. Backtesting only goes so far and every exchange has a different fee schedule, which can substantially eat into your profits. At the bottom I will explain the parameters behind the strategy results.
**********
The VWAP Trendfollow Strategy begins with a simple premise: to enter long when the price breaks above the upper standard deviation of a VWAP, and to close the position when the price breaks below the lower standard deviation of the VWAP. This is more effective than initiating the same strategy for a VWMA because the VWAP resets its anchor depending on your chosen anchor period, and the act of resetting its anchor also resets its standard deviation value. As a consequence, in sustained uptrends, the standard deviation is pulled upward to meet the price when the anchor resets, instead of requiring the price to fall all the way back down, as in the lower standard deviation band of the VWMA. This essentially acts as the VWAP itself raising the stop loss at each anchor period, which works well for the overall trend-following strategy.
However, this narrowing can still have consequences for a simple breakout strategy; as the price gradually oscillates towards above or below its standard deviation band, it may cross over the other and produce false signals. This oscillation is worrisome especially when fees are taken into account.
Thus, the premium VWAP Trendfollow strategy has a variable width which detects abnormal narrowing of the band, and adjusts it until it is reasonable to close the variability period. Additionally, a filter is added to the open/close signals to soften the frequency of signals without impacting performance significantly.
This script contains an ATR stop loss and an ATR take profit (which is also a difference between it and the original experimental script), with customizable inputs. The strategy results shown below are with initial capital of $1000, qty entry of 10%, and commissions of 0.06%. It works best on 24/7 instruments, like crypto, but I have found it also works with FAANG stocks or other high volatility / high volume assets. The issue with stocks, however, is that the price can jump/plummet because of abnormal events after-hours, which the strategy cannot pick up on until pre-trading begins the next morning. For that reason I suggest it be used on crypto and, because of its low % profitable (but high average winning trade in relation to its average losing trade), be used on an exchange that has minimal fees or volume-based discounts. In the unfortunate case that you cannot find a minimal fee or volume-discounted fee exchange (such as fellow Americans following the liquidity-retreat on Binance.US), I encourage you to test out the higher anchor periods for the higher timeframes, which will reduce the number of trades and increase the average % per trade.
Additionally, this is a long-term strategy used best for accumulation. It is currently long-only; that may change based off of user input.
**********
Disclaimer
Copyright by wbburgin.
The information contained in my Scripts/Indicators/Algorithms does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Premium MTF Layered RSI - Bitcoin Bot [wbburgin]This the premium version of my MTF Layered RSI strategy, which improves significantly on the original strategy (publicly available on my profile). Improvements are below. This strategy will also appear as an overlay on your chart. It is completely non-repainting.
The MTF Layered RSI strategy uses the current timeframe and two configurable higher timeframes to enter a long position when Bitcoin is oversold on all three timeframes, and exit the long position when Bitcoin is overbought on the current timeframe. This hedges against situations where the RSI on higher timeframes never reaches the overbought level and we are left "holding the bag" so to speak with the classic "enter long at oversold and enter short at overbought" strategy.
IMPORTANT: This strategy does not work on ranges. It will work on all timeframes and assets, but does not work on ranges (Renko blocks and some other advanced types of charts).
********** My Background
I am an investor, trader, and entrepreneur with 10 years of cryptocurrency and equity trading experience and founder of two fintech startups. I am a graduate of a prestigious university in the United States and carry broad and inclusive interests in mathematical finance, computer science, machine learning / artificial intelligence, as well as other fields.
**********
Improvements over the original MTF RSI strategy include:
Filters for Uptrends and Downtrends → The Premium RSI strategy will adjust its buy and sell thresholds depending on whether the instrument is trending. This means that, in uptrends, the Premium strategy will buy more frequently, bringing in potentially greater profit, and in downtrends, the strategy will stop buying altogether. These filters and dynamic buy/sell thresholds have made this strategy more profitable in my backtesting across random timeframes, but I cannot guarantee that the strategy will be profitable for you on the default settings. To that end, I have enabled a number of different configurations that you can change in the settings of the strategy.
Stop Loss / Take Profit Calculation Per Tick → Stop loss and take profit are now both enabled in the script and each has their own alerts. You can specify what type of stop loss or take profit you want: percentage or ATR. If you have alerts configured, you will be alerted mid-bar, instead of at close. This helps prevent loss from abrupt falls in price between closing price and next bar open.
Customizable Alert Messages In-Strategy → In the settings, there will be text boxes where you can create your own alerts. All you will need to do is create an alert in the alert panel on Tradingview and leave the message box blank - if you fill out the alert boxes in the settings, these will automatically populate into your alerts. There are in total eight different customizable alerts messages: Entry, Exit, Stop loss, and Take profit alerts for both Long and Short sides. If you disable stop loss and/or take profit, these alerts will also be disabled. Similarly, if you disable shorts, all short alerts will be disabled.
**********
Display
Configuring Stop Loss or Take Profit will make their corresponding displays appear.
Separately from the trading boxes, background colors (green, red) signify extended uptrends and downtrends, respectively.
Configuring Alerts
In TradingView desktop, go to the ‘Alerts’ tab on the right panel. Click the “+” button to create a new alert. Select this strategy for the condition and one of the two options that includes alert() function calls. Name the alert what you wish and clear the default message, because your text in the settings will replace this message.
Now that the alert is configured, you can go to the settings of the strategy and fill in your chosen text for the specific alert condition. You will need to check “Long and Short” in the “Trade Direction” setting in order for any Short Alerts to become active. Similarly, you will need to check “Enable Stop Loss” for stop loss alerts to become active and “Enable Take Profit” for take profit alerts to become active.
**********
Disclaimer
Copyright by wbburgin.
The information contained in my Scripts/Indicators/Algorithms does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
**********
Notes on the Strategy Performance below: This is 3% of equity per trade, with a pyramiding number of 3. I did not include fees because Binance US on Bitcoin/USD does not charge fees on the instrument; however, I heavily encourage you to include fees in your backtesting if you use a different brokerage. To mitigate fees, this strategy is designed with a high average %/trade. If your current fees are greater than the strategy's average %/trade, I encourage you to choose a higher RSI period, such as 14 or 28, which will result in less trades but potentially a higher %/trade.
LowFinder_PyraMider_V2This strategy is a result of an exploration to experiment with other ways to detect lows / dips in the price movement, to try out alternative ways to exit and stop positions and a dive into risk management. It uses a combination of different indicators to detect and filter the potential lows and opens multiple positions to spread the risk and opportunities for unrealized losses or profits. This script combines code developed by fellow Tradingview community_members.
LowFinder
The lows in the price movement are detected by the Low finder script by RafaelZioni . It finds the potential lows based on the difference between RSI and EMA RSI. The MTF RSI formula is part of the MTFindicators library developed by Peter_O and is integrated in the Low finder code to give the option to use the RSI of higher timeframes. The sensitivity of the LowFinder is controlled by the MA length. When potential lows are detected, a Moving Average, a MTF Stochastic (based the the MTFindiicators by Peter_O) and the average price level filter out the weak lows. In the settings the minimal percentage needed for a low to be detected below the average price can be specified.
Order Sizing and Pyramiding
Pyramiding, or spreading multiple positions, is at the heart of this strategy and what makes it so powerful. The order size is calculated based on the max number of orders and portfolio percentage specified in the input settings. There are two order size modes. The ‘base’ mode uses the same base quantity for each order it opens, the ‘multiply’ mode multiplies the quantity with each order number. For example, when Long 3 is opened, the quantity is multiplied by 3. So, the more orders the bigger the consecutive order sizes. When using ‘multiply’ mode the sizes of the first orders are considerably lower to make up for the later bigger order sizes. There is an option to manually set a fixed order size but use this with caution as it bypasses all the risk calculations.
Stop Level, Take Profit, Trailing Stop
The one indicator that controls the exits is the Stop Level. When close crosses over the Stop Level, the complete position is closed and all orders are exited. The Stop Level is calculated based on the highest high given a specified candle lookback (settings). There is an option to deviate above this level with a specified percentage to tweak for better results. You can activate a Take Profit / Trailing Stop. When activated and close crosses the specified percentage, the Stop Level logic changes to a trailing stop to gain more profits. Another option is to use the percentage as a take profit, either when the stop level crosses over the take profit or close. With this option active, you can make this strategy more conservative. It is active by default.
And finally there is an option to Take Profit per open order. If hit, the separate orders close. In the current settings this option is not used as the percentage is 10%.
Stop Loss
I published an earlier version of this script a couple of weeks ago, but it got hidden by the moderators. Looking back, it makes sense because I didn’t pay any attention to risk management and save order sizing. This resulted in unrealistic results. So, in this script update I added a Stop Loss option. There are two modes. The ‘average price’ mode calculates the stop loss level based on a given percentage below the average price of the total position. The ‘equity’ mode calculates the stop loss level based on a given percentage of your equity you want to lose. By default, the ‘equity’ mode is active. By tweaking the percentage of the portfolio size and the stop loss equity mode, you can achieve a quite low risk strategy set up.
Variables in comments
To sent alerts to my exchange I use a webhook server. This works with a sending the information in the form of a comment. To be able to send messages with different quantities, a variable is added to the comment. This makes it possible to open different positions on the exchange with increasing quantities. To test this the quantities are printed in the comment and the quantities are switched off in the style settings.
This code is a result of a study and not intended for use as a worked out and full functioning strategy. Use it at your own risk. To make the code understandable for users that are not so much introduced into pine script (like me), every step in the code is commented to explain what it does. Hopefully it helps.
Enjoy!
*Backtesting System ⚉ OVERVIEW ⚉
One of the best Systems for Backtesting your Strategies.
Incredibly flexible, simple, fast and feature-rich system — will solve most of your queries without much effort.
Many systems for setting StopLoss, TakeProfit, Risk Management and advanced Filters.
All you need to do is plug in your indicator and start Backtesting .
I intentionally left the option to use my System on Full Power before you load your indicator into it.
The system uses the built-in simple and popular moving average crossover signal for this purpose. (EMA 50 & 200).
Also Highly Recommend that you Fully use ALL of the features of this system so that you understand how they work before you ask questions.
Also tried to leave TIPS for each feature everywhere, read Tips, activate them and see how they work.
But before you use this system, I Recommend you to read the following description in Full.
—————— How to connect your indicator in 2 steps:
Adapt your indicator by adding only 2 lines of code and then connect it to this Backtesting System.
Step 1 — Create your connector, For doing so:
• 1 — Find or create in your indicator where are the conditions printing the Long-Buy and Short-Sell signals.
• 2 — Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator wether it's a MACD, RSI , Pivots, or whatever indicator with Clear Buy and Sell conditions.
//@version=5
indicator('Moving Average Cross', overlay = true)
MA200 = ta.𝚎𝚖𝚊(close, 200)
MA50 = ta.𝚎𝚖𝚊(close, 50)
// Generate Buy and Sell conditions
buy = ta.crossover (MA200, MA50)
sell = ta.crossunder (MA200, MA50)
plot(MA200, color=color.green)
plot(MA50 , color=color.red )
bgcolor(color = buy ? color.green : sell ? color.red : na, title='SIGNALS')
// ———————————————— SIGNAL FOR SYSTEM ————————————————
Signal = buy ? +1 : sell ? -1 : 0
plot(Signal, title='🔌Connector🔌', display = display.none)
// —————— 🔥 The Backtesting System expects the value to be exactly +1 for the 𝚋𝚞𝚕𝚕𝚒𝚜𝚑 signal, and -1 for the 𝚋𝚎𝚊𝚛𝚒𝚜𝚑 signal
Basically, I identified my Buy & Sell conditions in the code and added this at the bottom of my indicator code
Now you can connect your indicator to the Backtesting System using the Step 2
Step 2 — Connect the connector
• 1 — Add your updated indicator to a TradingView chart and Add the Backtesting System as well to the SAME chart
• 2 — Open the Backtesting System settings and in the External Source field select your 🔌Connector🔌 (which comes from your indicator)
_______________________________
⚉ MAIN SETTINGS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
𝐄𝐱𝐭𝐞𝐫𝐧𝐚𝐥 𝐒𝐨𝐮𝐫𝐜𝐞 — Select your indicator. Add your indicator by following the 2 steps described above and select it in the menu. To familiarize yourself with the system until you select your indicator, you will have an in-built strategy of crossing the two moving EMA's of 50 and 200.
Long Deals — Enable/Disable Long Deals.
Short Deals — Enable/Disable Short Deals.
Wait End Deal — Enable/Disable waiting for a trade to close at Stop Loss/Take Profit. Until the trade closes on the Stop Loss or Take Profit, no new trade will open.
Reverse Deals — To force the opening of a trade in the opposite direction.
ReEntry Deal — Automatically open the same new deal after the deal is closed.
ReOpen Deal — Reopen the trade if the same signal is received. For example, if you are already in the long and a new signal is received in the long, the trade will reopen. * Does not work if Wait End Deal is enabled.
𝐓𝐚𝐤𝐞 𝐏𝐫𝐨𝐟𝐢𝐭:
None — Disables take profit. Useful if you only want to use dynamic stoplosses such as MA, Fast-Trailing, ATR Trail.
FIXED % — Fixed take profit in percent.
FIXED $ — Fixed Take in Money.
ATR — Fixed Take based on ATR.
R:R — Fixed Take based on the size of your stop loss. For example, if your stop is 10% and R:R=1, then the Take would be 10%. R:R=3 Take would be 30%, etc.
HH / LL — Fixed Take based on the previous maximum/minimum (extremum).
𝐒𝐭𝐨𝐩 𝐋𝐨𝐬𝐬:
None — Disables Stop Loss. Useful if you want to work without a stop loss. *Be careful if Wait End Deal is enabled, the trade may not close for a long time until it reaches the Take.
FIXED % — Fixed Stop in percent.
FIXED $ — Fixed Stop in Money.
TRAILING — Dynamic Trailing Stop like on the stock exchanges.
FAST TRAIL — Dynamic Fast Trailing Stop moves immediately in profit and stays in place if the price stands still or the price moves in loss.
ATR — Fixed Stop based on the ATR.
ATR TRAIL — Dynamic Trailing Stop based on the ATR.
LO / HI — A Fixed Stop based on the last Maximum/Minimum extemum. Allows you to place a stop just behind or above the low/high candle.
MA — Dynamic Stop based on selected Moving Average. * You will have 8 types of MA (EMA, SMA, HMA, etc.) to choose from, but you can easily add dozens of other MAs, which makes this type of stop incredibly flexible.
Add % — If true, then with the "𝗦𝘁𝗼𝗽 %" parameter you can add percentages to any of the current SL. Can be especially useful when using Stop - 𝗔𝗧𝗥 or 𝗠𝗔 or 𝗟𝗢/𝗛𝗜. For example with 𝗟𝗢/𝗛𝗜 to put a stop for the last High/Low and add 0.5% additional Stoploss.
Fixed R:R — If the stop loss is Dynamic (Trailing or MA) then if R:R true can also be made Dynamic * Use it carefully, the function is experimental.
_________________________________________
⚉ TAKE PROFIT LEVELS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
A unique method of constructing intermediate Take Profit Levels will allow you to select up to 5 intermediate Take Profit Levels and one intermediate Stop Loss.
Intermediate Take Profit Levels are perfectly calculated into 5 equal parts in the form of levels from the entry point to the final Take Profit target.
All you need to do is to choose the necessary levels for fixing and how much you want to fix at each level as a percentage. For example, TP 3 will always be exactly between the entry point and the Take Profit target. And the value of TP 3 = 50 will close 50% of the amount of the remaining size of the position.
Note: all intermediate SL/TP are closed from the remaining position amount and not from the initial position size, as TV does by default.
SL 0 Position — works in the same way as TP 1-5 but it's Stop. With this parameter you can set the position where the intermediate stop will be set.
Breakeven on TP — When activated, it allows you to put the stop loss at Breakeven after the selected TP is reached. For this function to work as it should - you need to activate an intermediate Take. For example, if TP 3 is activated and Breakeven on TP = 3, then after the price reaches this level, the Stop loss will go to Breakeven.
* This function will not work with Dynamic Stoplosses, because it simply does not make sense.
CoolDown # Bars — When activated, allows you to add a delay before a new trade is opened. A new trade after CoolDown will not be opened until # bars pass and a new signal appears.
_____________________________
⚉ TIME FILTERS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Powerful time filter code that allows you to filter data based on specific time zones, dates, and session days. This code is ideal for those who need to analyze data from different time zones and weed out irrelevant data.
With Time Filter, you can easily set the starting and ending time zones by which you want to filter the data.
You can also set a start and end date for your data and choose which days of the week to include in the analysis. In addition, you can specify start and end times for a specific session, allowing you to focus your analysis on specific time periods.
_________________________________
⚉ SIGNAL FILTERS ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Signal Filters — allows you to easily customize and optimize your trading strategies based on 10 filters.
Each filter is designed to help you weed out inaccurate signals to minimize your risks.
Let's take a look at their features:
__________________________________
⚉ RISK MANAGEMENT ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Risk management tools that allow you to set the maximum number of losing trades in a row, a limit on the number of trades per day or week and other filters.
Loss Streak — Set Max number of consecutive loss trades.
Win Streak — Max Winning Streak Length.
Row Loss InDay — Max of consecutive days with a loss in a row.
DrawDown % — Max DrawDown (in % of strategy equity).
InDay Loss % — Set Max Intraday Loss.
Daily Trades — Limit the number of MAX trades per day.
Weekly Trades — Limit the number of MAX trades per week.
* 🡅 I would Not Recommend using these functions without understanding how they work.
Order Size — Position Size
• NONE — Use the default position size settings in Tab "Properties".
• EQUITY — The amount of the allowed position as a percentage of the initial capital.
• Use Net Profit — On/Off the use of profit in the following trades. *Only works if the type is EQUITY.
• SIZE — The size of the allowed position in monetary terms.
• Contracts — The size of the allowed position in the contracts. 1 Сontract = Сurrent price.
________________
⚉ NOTES ⚉
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
It is important to note that I have never worked with Backtesting and the functions associated with them before.
It took me about a month of slow work to build this system.
I want to say Big Thanks:
• The PineScripters🌲 group, the guys suggested how to implement some features. Especially @allanster
• Thanks to all those people who share their developments for free on TV and not only.
• I also thank myself for not giving up and finishing the project, and not trying to monetize the system by selling it. * Although I really want the money :)
I tried hard to make it as fast and convenient as possible for everyone who will use my code.
That's why I didn't use any libraries and dozens of heavy functions, and I managed to fit in 8+-functions for the whole code.
Absolutely every block of code I tried to make full-fledged modular, that it was easy to import/edit for myself (you).
I have abused the Ternary Pine operator a little (a lot) so that the code was as compact as possible.
Nevertheless, I tried very hard to keep my code very understandable even for beginners.
At last I managed to write 500 lines of code, making it one of the fastest and most feature-rich systems out there.
I hope everyone enjoys my work.
Put comments and write likes.
Strategy Template + Performance & Returns table + ExtrasA script I've been working on since summer 2022. A template for any strategy so you just have to write or paste the code and go straight into risk management settings
Features:
>Signal only Longs/only Shorts/Both
>Leverage system
>Proper fees calculation (even with leverage on)
>Different Stop Loss systems: Simple percentage, 4 different "move to Break Even" systems and Scaling SL after each TP order (read the disclaimer at the bottom regarding this and the TV % profitable metric)
>2 Take Profit systems: Simple percentages, or Risk/reward ratios based on SL level
>Additional option on TP so last one "rides free" until closure of position or Stoploss is hit (for more than 1 orders)
>Up to 5 TP orders
>Show or hide SL/TP levels on demand
>2 date filters. Manual filter is nothing new, enter two dates/hours and filter will turn on. BUT automatic filter is another thing (thanks to user @bfr_ for his help in codingthis feature)
>AUTOMATIC DATE FILTER. Allows you to split all historical data on the chart in X periods, then choose the range of periods used. Up to 10 but that can be changed, instructions included. Useful for WalkForward simulations, haven't seen a script in TradingView that allows you to do this and test your strategy on "unseen data" automatically
EXTRA SETTINGS
Besides, some additions I like to add to my codes:
>Returns table for monthly and weekly performance. Requires recalculation on every tick. This is a modified version of @QuantNomad's work. May add lower TF options later on
>Volume Based S/R system. Original work from @shtcoinr
>One feature that was made by me, the "portfolio table". Yields info and metrics of your strategy, current position and balance. You're able to turn it off and change its size
Should anyone find an error, or have any idea on how to improve this code, please contact me. Future updates could come, stay tuned
DISCLAIMER:
In order to have accurate StopLoss hit, I had to change the previous system, which was a "close position on candle close" instead at actual stoploss level. It was fixed, but resulted on inflation of the number of trading orders, thus reducing the percent profitable and making it strongly biased and unreal. Keep that in mind, that "real" profitability could be 2x or 3x the metric TradingView says. If your strategy has a really high trading frequency, resulting in 3000+ orders, might be a problem. Try to make use of the automatic/manual date filter as workaround, I have no means of changing this, seems it is not a bug but an intended design of the PineScript Code
Broadview Economic StudioThank you for taking the time to read this description. We'll be taking a look at the Broadview Economic Studio. This has been a work-in-progress for years and is a very powerful tool for planning trades with complex volume scaling strategies. We will be talking about many indicators and types of indicators used in the public domain, but it is NOT recommended to reverse engineer our scripts as there is quite a bit of logic in the code that works to make each common approach entirely unique. So although you may understand quite a bit about oscillators, the way they work with the rest of the logic within the script may change the way you know them to work from elsewhere.
In the chart snapshot above you'll see a mild configuration where I only had to tweak a few settings. Commissions are set to 0.1%, starting capital is set to $10,000, and slippage is off. In my tests orders came through less than a penny off. Generally speaking, there are really only two situations in which you should be concerned about slippage. The first is if you trade really low timeframe charts like the 1 second. This tool, while it works for any timeframe, is programmed on the 45 minute timeframe and works best there. The other situation in which you should be prepared for slippage is if you're using extremely high volume trades in the hundreds of thousands or millions depending on the market cap and liquidity of the asset you're studying. Large orders like that have to be split up among several deals and that can cause slippage.
There are 31 primary inputs for users to tweak. Each input is grouped within a module called a Suite. Each suite has a focus like filtering signals or strategically allocating volume according to your strategy. Everything starts with the Origin Suite. The Origin Suite is a group of inputs that generates Tops & Bottoms from price action. It uses math like Rate of Change, where one can specify a required rate of change before an Origin signal can be made, and users can specify how much lower in price a bar must be compared to previous bars. So with the Origin Suite, users can control how often they want to see originating signals and under what conditions they can appear.
We used to use WVF and CVI to produce top and bottom signals, but our Origin Suite works much better for systematically generating profitable configurations.
The triangles you see on the chart represent markers, potential signals, or Prop Signals as they're referred to within the script. The blue arrows represent trades where Prop Signals were allowed to pass as true long signals. There are two ways to ignore Prop Signals. You can filter the markers entirely, or you can reduce their volume scaling to the minimum which is usually $10 for most exchanges. We're first going to be talking about some of the primary DCA inputs before we talk about the technology we use to filter and overload signals.
Here are some important features found within the script:
Base Orders
Safety Orders
Take Profits
Change-Based Volume Scaling
Ignoring Low or Medium Changes
Overloading
Filtering
Alert Messages w/ Volume Scaling
Let's walk through each of these features in more depth.
The Base Order is the initial Long position within a series. It comes in first and is followed by all of its Safety Orders. The Base Order is set to $25 within the script by default. Keeping the base order low allows one to reserve more of their capital for Safety Orders that are lower within a dip, and thus, lower the user's Position Average. The primary feature of this script is to help users plan their volume scaling strategically, and this is where we start. It's this kind of due diligence and effort in protecting trades that makes this script unique.
So we start with a low Base Order. Then, we follow with a lot of Safety Orders. Typically in DCA this is done in consistent time intervals and in consistent amounts. So in regular DCA one may invest the same amount bi-weekly on pay day. They use the financial instrument as a sort of savings and average their position over their consistent investments. This is not where the bleeding edge of DCA is today though. In modern Doller Cost Averaging, I would expect to see signals and volume scaling based on logic.. as opposed to being consistent intervals.
This sets up the explanation of the primary means of volume scaling within the script. Mathematically, we start with the net balance. This is your specified starting balance plus any wins or losses. Users specify what % of their Available Balance they would like to start with when volume scaling. This percent of capital is then multiplied by a Safety Order Multiplier. The safety order multiplier is made up of a number specified by the user, multiplied by the number of the Safety Order you're on. So user's can control this equation/algorithm and scale their investments as the number of Safety Orders increases and drops in price become more opportune.
The Take Profit within the script lets users specify their desired ROI from a series. So if a user sets a 60% take profit, the script will set a price from the position average that when reached will give the user a 60% ROI for the series including its Base Order and all its Safety Orders.
Before moving on, let's talk about the amazing internal reporting found in the script. When you zoom in on the blue arrows, you can see each trade is accompanied by some extremely helpful information. This is just another feature that makes this script unique, it is the feature that gives us accurate reporting and ultimately allows us to connect with TradingView's Strategy Tester in a way that provides instant backtests with good merit. With this reporting not only can users get reports and information on trades made on different assets with different configurations, but user's can perform a deep dive on each configuration and know exactly what was going on for each trade. The first number is the number of the safety order the script is on. Remember, this is used in the primary volume scaling math. The second number is the amount the script spent on the current trade. The third number denotes the cumulative spending for the series. The final number displays the script's available balance at that time. With these numbers, the TradingView Strategy Tester, and the List of Trades feature, users can practice as much due diligence as they need during their studies.
Let's move on to talking about my favorite suite within the script, the Volume Scaling Suite. Here there are two primary means of controlling volume scaling. Although, in the near future there will be more.
In this suite you'll find Change-Based Volume Scaling and Position Average Volume Scaling. Position Average Volume Scaling is quite easy to explain. This feature only allows signals to pass if they are lower in price than your base order. In this way, users can apply most of their capital to trades that lower their position average. Simply having the money in the market can boost profits, but having a lower Position Average is the entire reason we DCA. Change-Based Volume Scaling is quite a bit more complex.
In theory, one could argue that every moment is a great moment to buy. It's just that some moments are more opportune than others. So it's not about perfect signals as much as it's about proper volume scaling.
Change-Based Volume Scaling allows us to set rules that dictate how much volume scaling is used based on the asset's current delta, or Rate of Change.
Using CBVS, one can downscale capital applied to signals with a low ROC, or simply ignore them. So if a signal comes in and the price hasn't changed very much then you can automatically use less volume for the trade. One can do the same thing for medium changes, and the user can specify what quantifies as a low or medium change. Users can give extra volume to signals with a greater rate of change, or overload signals with a high rate of change! So the CBVS feature gives users the ability to allocate volume based on logic rooted in the asset's rate of change. If a signal has dropped a lot in price, then generally, it is deserving of more capital and that's what makes this feature unique and so powerful.
There are two kinds of Overloading found in the script. There's overloading from CBVS, and then overloading from the 4 signal filtering suites. There's an important difference to note before we move on. Overloading performed by CBVS is based on ignored signals. So if you ignore low or medium change signals, and you have CBVS Overloading on, the script will allocate more capital to High Change signals. When signals are ignored, they are downscaled to $10. Whereas with the filtering suites, if a signal is filtered the Prop Signal triangle marker is removed entirely. The overloading in that scenario is simply applied to signals that aren't filtered. The reason it's done this way is because allowing ignored signals to still come in, with the lowest volume scaling possible, keeps the Safety Order count rising which works in the volume scaling math. This math is intrinsic to getting capital deep within dips and crashes.
So in future versions we may allow ignored signals to be filtered out entirely but for the time being, simply scaling them down to the lowest possible amount is what produces the best and most consistent configurations.
Let's talk about filtering signals, and the overloading provided within each filtering suite.
Here you can see our Overbought & Oversold Heatmap V3. This is a unique indicator that takes 15 common oscillators and visualizes them in a way that clearly denotes confluence. Looking at this indicator makes it easer to read cycles and trends. It is quite common for investors to base their entire scripts on one or more of the oscillators found within the OBOS Heatmap V3. So the OBOS Heatmap V3 is an awesome way to ensure your signals follow an oversold trend! The orange represents an oscillator being oversold, while the yellow represents it being overbought. Generally, when an asset is oversold it is a better time to buy. One can filter signals based on this information and use the Heatmap's unique ability to quantify confluences. In this script users can set a sensitivity and that sets the number of oscillators that must be in agreement before a signal is allowed to pass.
Here are the oscillators found within the OBOS Heatmap:
*Please keep in mind that although some of these oscillators may have big names, the code and math in the script may work differently than you're used to. This is because the code and math is changed quite a bit, and the overall intended functionality of the OBOS Heatmap has a larger scope than any one indicator. It's also important to note that the lengths for these oscillators are set low and are meant to classify the individual signal as either overbought or oversold, and not the entire period. So while the OBOS Heatmap is awesome for trends and cycles, it's ultimately meant to classify individual price bars as either overbought or oversold according to a consensus.*
Relative Strength Index
Money Flow Index
Commodity Channel Index
Aroon Oscillator
Relative Volatility Index
Fast Stochastic Detrended Price Oscillator
Fast Stochastic Elders Force Index
Fast Stochastic Relative Strength Index
Fast Stochastic Relative Vigor Index
Fast Stochastic Klinger Oscillator
Fast Stochastic Awesome Oscillator
Fast Stochastic Ultimate Oscillator
Fast Stochastic Chande Momentum Oscillator
Fast Stochastic On Balance Volume Oscillator
Fast Stochastic Moving Average Convergence/Divergence
Each band of the Overbought & Oversold Heatmap represents an oscillator. When it's orange it's said to be oversold. When it's yellow it's said to be overbought. The indicator turns purple during trends and reversals where it is neither overbought nor oversold. It can differentiate between uptrends and downtrends with differing colors of purple, but the OBOS Heatmap is not used for trends or cycles in this script. It is used to quantify oversold confluence.
Let's talk about the Dominance Suite.
First note in the top portion of the screenshot above, you will see various colors in the script. It replaces the price line with something we call Price Flow bars. So when you add the script it's best to make the stock price line invisible in TV settings. The Price Flow Bars use a preset EMA to color price action as being in either a downward momentum or upward momentum. The triangular signals represent dark teal for the initial long marker within a series, dark green for long orders and long signals that convert into safety orders, and light green for safety orders. This is more logic that makes this script really unique. The dark green initial long marker signals are rarely seen. You can find them at the beginning of a new series of signals and they work to establish when a new series of signals should begin. The dark green signals actually denote a long base order opportunity, but if a series has already started then these signals are converted into Safety Orders. The Safety Orders then come in light green, and red for Prop Shorts. Prop Shorts work with Initial Longs to establish the start of a new series. More on that math I cannot tell.
In the bottom half of the screenshot is the Dominance Suite itself. It's another one of the four filtering suites found in the script. It is made up of 7 oscillators that work to classify a price bar as being controlled by either the bears or the bulls. If a price bar is controlled by the bears it is said to be a better investment. The Dominance Suite works by applying a moving average to the balance of power. This is the way TradingView has intended the balance of power to be used, and works quite nicely in classifying individual price bars as either bearish or bullish. It's not an overall trend indicator as much as it states whether a bar is mostly controlled by the bears or the bulls.
Here are the oscillators found within the Dominance Suite:
SMA of BOP
EMA of BOP
HMA of BOP
WMA of BOP
VWMA of BOP
TEMA of BOP
LSMA of BOP
Within the script, there is an input for a negative threshold. When each of these 7 oscillators is in confluence and below this set threshold, the Prop Long will be allowed to pass as a real trade.
Keep in mind that each filtering suite also has the option to overload signals.
So not only can you filter signals based on these suites but you can also apply additional volume scaling to signals that don't get filtered.
Here we have the True Oscillator. The True Oscillator is a brand new oscillator. It's similar to things like the RSI or DPO, but technically speaking it considers many more factors into its average than other oscillators. It considers balance of power, sentiment, volume, momentum, gravity, and places special-strategic weighting on price data based on whether it's opening, closing, high, or low. If you stack the True Oscillator up with the RSI you'll notice right away they look similar, but each movement is quite different. Overall the movements are more balanced, the individual bars are more consistent with price data, and the swings are more clearly pronounced while simultaneously having a better register of strength in momentum. We use this indicator to filter and overload signals, to trade according to momentum, and to provide a 16th independent oscillator that can check the OBOS Heatmap without having to be confluent.
The final filtering suite is based on Net Volume. It classifies signals as oversold when there is a significant negative trend in net volume. If Net Volume is under 0, and trends downward for either 3, 4, or 5 bars in a row then it will mark a signal as oversold and allow it to pass. Then, if overloading for this suite is turned on it will allocate more volume to signals it does not filter out.
There is a lot that can be said about this strategy. The primary takeaway though is that it's not just one strategy. It's a tool for everyone, to help them plan their approach to different assets in different market climates. This tool can help you study current market conditions. It can allow you to plan a strategic approach to market segments, and see how your strategy would fare if new market data performed similarly. It's not just one strategy, but more of a strategy printer.
The Origin Suite allows users to plan the positioning of their signals. The Overbought & Oversold Suite allows users to filter their signals based on whether or not they are oversold. The Dominance Suite allows users to filter signals based on whether the market is being controlled by the bears or the bulls. The True Oscillator gives users the ability to filter signals based on a deep and powerful momentum oscillator. The Net Volume Suite lets users filter signals based on volume trends. When signals are filtered, signals that pass, can be overloaded with additional volume scaling. Features like Change-Based Volume Scaling and Position Average Volume Scaling give users plenty of inputs to create complex volume scaling strategies. Common-sense DCA inputs allow users to scale into markets the way pros do.
The Broadview Economic Studio is a powerful tool for planning trades with complex volume scaling strategies.
Users can plan their approach to different kinds of markets. They can link the script with their bot or broker like 3Commas, and the script will automatically send the correct volume scaling through to the bot.
Thank you for your time, and for reading the description of the Broadview Economic Studio.
Simple SuperTrend Strategy for BTCUSD 4HHello guys!, If you are a swing trader and you are looking for a simple trend strategy, you should check this one. Based in the supertrend indicator, this strategy will help you to catch big movements in BTCUSD 4H and avoid losses as much as possible in consolidated situations of the market
This strategy was designed for BTCUSD in 4H timeframe
Backtesting context: 2020-01-02 to 2023-01-05 (The strategy has also worked in previous years)
Trade conditions:
Rules are actually simple, the most important thing is the risk and position management of this strategy
For long:
Once Supertrend changes from a downtrend to a uptrend, you enter into a long position. The stop loss will be defined by the atr stop loss
The first profit will be of 0.75 risk/reward ratio where half position will be closed. When this happens, you move the stop loss to break even.
Now, just will be there two situations:
Once Supertrend changes from a uptrend to a downtrend, you close the other half of the initial long position.
If price goes againts the position, the position will be closed due to breakeven.
For short:
Once Supertrend changes from a uptrend to a downtrend, you enter into a short position. The stop loss will be defined by the atr stop loss
The first profit will be of 0.75 risk/reward ratio where half position will be closed. When this happens, you move the stop loss to break even.
Like in the long position, just will be there two situations:
Once Supertrend changes from a downtrend to a uptrend, you close the other half of the initial short position.
If price goes againts the position, the position will be closed due to breakeven.
Risk management
For calculate the amount of the position you will use just a small percent of your initial capital for the strategy and you will use the atr stop loss for this.
Example: You have 1000 usd and you just want to risk 2,5% of your account, there is a long signal at price of 20,000 usd. The stop loss price from atr stop loss is 19,000. You calculate the distance in percent between 20,000 and 19,000. In this case, that distance would be of 5,0%. Then, you calculate your position by this way: (initial or current capital * risk per trade of your account) / (stop loss distance).
Using these values on the formula: (1000*2,5%)/(5,0%) = 500usd. It means, you have to use 500 usd for risking 2.5% of your account.
We will use this risk management for apply compound interest.
Script functions
Inside of settings, you will find some utilities for display atr stop loss, supertrend or positions.
You will find the settings for risk management at the end of the script if you want to change something. But rebember, do not change values from indicators, the idea is to not over optimize the strategy.
If you want to change the initial capital for backtest the strategy, go to properties, and also enter the commisions of your exchange and slippage for more realistic results.
Signals meanings:
L for long position. CL for close long position.
S for short position. CS for close short position.
Tp for take profit (it also appears when the position is closed due to stop loss, this due to the script uses two kind of positions)
Exit due to break even or due to stop loss
Some things to consider
USE UNDER YOUR OWN RISK. PAST RESULTS DO NOT REPRESENT THE FUTURE.
DEPENDING OF % ACCOUNT RISK PER TRADE, YOU COULD REQUIRE LEVERAGE FOR OPEN SOME POSITIONS, SO PLEASE, BE CAREFULL AND USE CORRECTLY THE RISK MANAGEMENT
The amount of trades closed in the backtest are not exactly the real ones. If you want to know the real ones, go to settings and change % of trade for first take profit to 100 for getting the real ones. In the backtest, the real amount of opened trades was of 194.
Indicators used:
Supertrend
Atr stop loss by garethyeo
This is the fist strategy that I publish in tradingview, I will be glad with you for any suggestion, support or advice for future scripts. Do not doubt in make any question you have and if you liked this content, leave a boost. I plan to bring more strategies and useful content for you!
Wunder Trend Reversal botWunder Trend Reversal bot
1. Wunder Trend Reversal Bot - this has only one goal to find a reversal of the trend.
2. The strategy determines, based on the specified value for the filter, a market reversal based on the price actions of the previous bars.
3. A short EMA is used to filter false signals after the reversal signal was received. Crossing the EMA and changing its direction confirms the trend change.
4. There are 2 ways to calculate stop loss and take profit. You can choose one of them:
- Classic stop loss and take profit in a fixed percentage
- ATR stop loss and take pro
5. ATR uses risk reward (R:R) to calculate take profit. The script calculates the risk-reward based on a certain stop loss level and uses it to calculate the take profit
6. A function for calculating risk on the portfolio (your deposit) has been added to the script. When this option is enabled, you get a calculation of the entry amount in dollars relative to your Stop Loss. In the settings, you can select the risk percentage on your portfolio. The loss will be calculated from the amount that will be displayed on the chart.
For example. Deposit - $1000, you set the risk to 1%. SL 5%. Entry volume will be $200. The loss at SL will be $10.10$ this is your 1% risk or 1% of the deposit.
Important! The risk per trade must be less than the Stop Loss value. If the risk is greater than SL, then you should use leverage.
The amount of funds entering the trade is calculated in dollars. This option was created if you want to send the dollar amount from Tradingview to the exchange. However, putting your volume in dollars you get the incorrect net profit and drawdown indication in the backtest results, as TradingView calculates the backtest volume in contracts.
To display the correct net profit and drawdown values in Tradingview Backtest results, use the ”Volume in contracts” option.
Strategy Myth-Busting #20 - HalfTrend+HullButterfly - [MYN]#20 on the Myth-Busting bench, we are automating the " I Found Super Easy 1 Minute Scalping System And Backtest It 100 Times " strategy from " Jessy Trading " who claims 30.58% net profit over 100 trades in a couple of weeks with a 51% win rate and profit factor of 1.56 on EURUSD .
This one surprised us quite a bit. Despite the title of this strategy indicating this is on the 1 min timeframe, the author demonstrates the backtesting manually on the 5 minute timeframe. Given the simplicity of this strategy only incorporating a couple of indicators, it's robustness being able to be profitable in both low and high timeframes and on multiple symbols was quite refreshing.
The 3 settings which we need to pay most attention to here is the Hull Butterfly length, HalfTrend amplitude and the Max Number Of Bars Between Hull and HalfTrend Trigger. Depending on the timeframe and symbol, these settings greatly impact the performance outcomes of the strategy. I've listed a couple of these below.
And as always, If you know of or have a strategy you want to see myth-busted or just have an idea for one, please feel free to message me.
This strategy uses a combination of 3 open-source public indicators:
Hull Butterfly Oscillator by LuxAlgo
HalfTrend by Everget
Trading Rules
5 min candles but higher / lower candles work too.
Stop loss at swing high/low
Take Profit 1.5x the risk
Long
Hull Butterfly gives us green column, Wait for HalfTrend to present an up arrow and enter trade.
Short
Hull Butterfly gives us a red column , Wait for HalfTrend to present a down arrow and enter trade.
Alternative Trading Settings for different time frames
1 Minute Timeframe
Move the Hull Butterfly length from the default 11 to 9
Move the HalfTrend Amplitude from the default 2 to 1
Enabling ADX Filter with a 25 threshold
2 Hour Timeframe
Move the HalfTrend Amplitude from the default 2 to 1
Laddered Take Profits from 14.5% to 19% with an 8% SL
The Flower - Multiple Strategy Options in OneStrategy Overview
This strategy code currently includes four separate strategies to be used to either aid in discretionary trading or to be used algorithmically through the third-party system Profitview (profitview.app). Support for Pineconnector for use with MetaTrader 4 is in the works. The strategies have been designed with cryptocurrency trading in mind, however, the fundamentals apply to other assets.
The four strategies currently included are labeled “TSI Cross” (the default setting), “Oscillator Bands”, “Scalping”, and “McG/MA Cross”. Detailed information for each independent strategy can be found below, including sample settings configurations for each. A dropdown menu to select the strategy can be found under the “Strategy Options” set of settings under the Input tab of the strategy settings menu.
Additionally, the option to receive only long or short signals can be found alongside the Strategy Choice menu.
Take profit, stop loss, and trailing percentages are also included, found at the bottom of the Input tab under “TT and TTP” as well as “Stop Loss”. Make sure to understand the TP/SL ratio that you desire before use, as the desired hit rate/profitability percentage will be affected accordingly.
The only visuals associated with the strategy are two McGinley Dynamic lines, red (slow length) and green (fast length). These are relevant to the McGinley Cross strategy, but can be used alongside the other strategies if desired.
When viewing the backtesting data in the TradingView Strategy Tester, ensure that “use bar magnifier” is activated. This option can be found in the Properties tab of the strategy settings menu.
Profitview Settings
If you wish to utilize Profitview’s automation system, find the included “Profitview Settings” under the Input tab of the strategy settings menu. If not, skip this section entirely as it can be left blank. Options will be “OPEN LONG TITLE”, “OPEN SHORT TITLE”, “CLOSE LONG TITLE”, and “CLOSE SHORT TITLE”. If you wished to trade SOL, for example, you would put “SOL LONG”, “SOL SHORT”, “SOL CLOSE LONG”, and “SOL CLOSE SHORT” in these areas. Within your Profitview extension, ensure that your Alerts all match these titles. A sample of our Profitview syntax can be found below.
To set an alert for use with Profitview, go to the “Alerts” tab in TradingView, then create an alert. Make sure that your desired asset and timeframe are currently displayed on your screen when creating the alert. Under the “Condition” option of the alert, select the strategy, then select the expiration time. If using TradingView Premium, this can be open-ended. Otherwise, select your desired expiration time and date. This can be updated whenever desired to ensure the strategy does not expire. Under “Alert actions”, nothing necessarily needs to be selected unless so desired. Leave the “Alert name” option empty. For the “Message”, delete the generated message and replace it with {{strategy.order.alert_message}} and nothing else.
Strategy Choices
As mentioned above, this strategy code contains four separate strategy options. A detailed breakdown of each follows below:
Total Strength Index (TSI) Cross
This strategy option is the default choice. The main signal involved in this strategy is a crossover or crossunder of the TSI value line and TSI signal line, however, there are a few other signals involved in the creation of a long or short entry. In addition to the TSI, the strategy includes an Average Directional Index (ADX) threshold value, Jurik Volatility Bands (JVB), a Stoch RSI threshold, and an oscillator of choice in conjunction with a threshold of 0. This oscillator choice can be selected under the “Signal Options” menu in the Input tab of the strategy settings. The default oscillator is the Detrended Price Oscillator (DPO), though the option for Chande Momentum (CMO) or Rate of Change (RoC) are both viable for this strategy.
Individual settings for these can be found in the Input tab under “Oscillator Settings” (TSI, Stoch RSI, DPO, CMO, ROC), “Band/Channel Settings” (Jurik Volatility Bands Length/Smoothing), and “Directional Settings” (ADX Smoothing Long, DI Length Short, ADX Threshold).
Sample settings for SOLUSDT using the 20M timeframe:
- Oscillator Settings -- DPO Length (21), DPO *not* centered, RSI (Stoch) Length (4), Stochastic Length (4), TSI Long Length (25), TSI Short Length (13), TSI Signal Length (13), K (3), D (3)
- Band/Channel Settings -- Jurik Volatility Bands Length (25), Jurik Volatility Bands Smoothing (5)
- Directional Settings – JVB Price Threshold (0), ADX Smoothing Long (5), DI Length Short (5), ADX Threshold (23)
- Take Profit/Stop Loss – 0.85% TP, 0.005% TTP, 1.3% SL
Oscillator Bands
This strategy involves the usage of bands or channels that use oscillators as a source input. The main signal for this strategy derives from a cross of the band or channel and a hline of 0. Additionally, this includes a “Directional Filter” and a “MA Filter”. The selections for all of these can be found in the “Signal Options” section of the Input tab.
First option is for Oscillator Choice and includes DPO, CMO, ROC, RSI, TSI, and the Jurik price line. The individual settings for these can be found in the “Oscillator Settings” section. Different channels can be selected for the upper or lower bands, though it is not necessary for them to differ. These current options include Bollinger Bands and Jurik Volatility Bands, the individual settings for each found in the “Band/Channel Settings” section. Next is the MA Filter, of which you can select SMA, EMA, SMMA, WMA, VWMA, KAMA, JMA, or McGinley Dynamic. All options for these settings can be found in the “MA Filter Settings” section. Lastly, the Directional Filters can be selected for either direction like the upper/lower band selection. These filters include the ADX, Bull-Bear Power (BBP), Parabolic SAR (PSAR), or Jurik.
Sample settings for WAVESUSDT using the 20M timeframe:
- Oscillator Choice – DPO (Length – 30, uncentered)
- Upper and Lower Band – JVB Upper/Lower (Jurik Volatility Bands Length – 25; Smoothing – 10)
- MA Filter – VWMA – (MA Length – 40; Source – Open)
- Directional Filter – ADX (ADX Smoothing Long – 14; DI Length Short – 5; ADX Threshold – 22)
- Take Profit/Stop Loss – 0.85% TP, 0.005% TTP, 1.3% SL
Scalping
This strategy heavily relies on the usage of Parabolic SAR, accompanied by a “Directional Filter” (as discussed in the previous section) other than PSAR. This strategy can provide a higher frequency of trades as opposed to the other strategies available, however, it comes with slightly higher risk inherently. A riskier take profit/stop loss spread is recommended here, though risk should always be managed. The settings required for this strategy are all found under the “Directional Settings” section of the strategy inputs.
Sample settings for NEARUSDT using the 20M timeframe:
- Directional Filter set to ADX
- Directional Settings – ADX Smoothing Long (5), DI Length Short (5), ADX Threshold (22), PSAR Start Value (0.02), PSAR Increment (0.005), PSAR Max Value (0.15), PSAR Source (Close)
- Take Profit/Stop Loss – 0.75% TP, 0.005% TTP, 1.5% SL
McGinley Cross
This strategy revolves around the crossing of two McGinley Dynamic lines of varying lengths alongside an ADX filter as well as a DPO filter. McGinley is used as opposed to a standard moving average cross strategy as it adjusts for shifts in market speed and can better gauge market trends. The McGinley length settings can be found with the “MA Filter” settings, labeled as Fast Length and Slow Length. The fast length number should be smaller than the slow length.
Sample settings for SOLUSDT using the 20M timeframe:
- Oscillator Settings – DPO Length (30), uncentered
- MA Filter Settings – McGinley Fast Length (4), McGinley Slow Length (21)
- Take Profit/Stop Loss – 0.85% TP, 0.005% TTP, 1.4% SL
Comprehensive Settings List
Date and Time: From date and to date, adjustable for backtesting purposes.
Signal Options:
Oscillator Choices: Chande Momentum Oscillator (CMO), Detrended Price Oscillator (DPO), Rate of Change (ROC), Relative Strength Index (RSI), True Strength Index (TSI), Jurik Volatility Bands Priceline (JVB) – *** for use with TSI Cross or Oscillator Bands strategies only ***
Upper and Lower Band/Channel Choices: Bollinger Bands (BB) or Jurik Volatility Bands (JVB) -- *** for use with Oscillator Bands strategy only ***
MA/McG Filter: SMA, EMA, RMA, WMA, VWMA, Kaufmann MA, Jurik MA, McGinley Dynamic -- *** for use with Oscillator Bands strategy only ***
Directional Filter Long/Short: Average Directional Index (ADX), Bull/Bear Power (BBP), Parabolic SAR (PSAR), Jurik -- *** for use with Oscillator Bands strategy only ***
Profitview Settings: *** For use with ProfitView extension only, otherwise ignore ***
Oscillator Settings: *** For use with TSI Cross, Oscillator Bands, and McGinley Cross strategies ***
CMO Length, CMO Source – for Chande Momentum Oscillator
DPO Length, DPO Centered – for Detrended Price Oscillator
RoC Length, RoC Source – for Rate of Change
RSI Length, RSI MA Length – for Relative Strength Index
RSI (Stoch) Length, Stochastic Length, Stoch RSI Source, K, D – for Stochastic RSI
TSI Long Length, TSI Short Length, TSI Signal Length – for True Strength Index
Band/Channel Settings: *** For use with Oscillator Bands strategy ***
Jurik Volatility Bands Length, Jurik Volatility Bands Smoothing – for Jurik Volatility Bands
Bollinger Band Length, Bollinger Band Multiplier – for Bollinger Bands
Directional Settings: *** For use with Scalping and Oscillator Bands strategies ***
JVB Price Threshold – for Jurik Volatility as a directional setting
ADX Smoothing Long, DI Length Short, ADX Threshold – for Average Directional Index
PSAR Start Value, PSAR Increment, PSAR Max Value, PSAR Source – for Parabolic SAR
MA Filter Settings: *** For use with Oscillator Bands and McGinley Cross strategies ***
McGinley Fast/Slow Length – for McGinley Dynamic
MA Length, MA Source, MA Offset – for any other moving average
TP and TTP / Stop Loss: *** For use with ALL strategies ***
Long/Short Take Profit % -- for standard take profit settings
Enable Trailing, Trailing Take Profit % -- for trailing settings
Stop Loss % -- for standard stop loss settings; trailing can be enabled or disabled for stop loss
Disclaimers:
Some open-source code has been included -- Jurik Volatility Bands (by "ProValueTrader") and Trailing Take Profit/Stop Loss code (by jason5480). Additional code was used from the TradingView built-ins.
These strategies do NOT guarantee future returns. Apply caution in trading regardless of discretionary or algorithmic. Understand the concepts of risk/reward and the intricacies of each strategy choice before utilizing them in your personal trading.
Invites to the strategy will only be disseminated to those with express consent and knowledge of the invite prior to the action itself.
Wunder Keltner botWunder Keltner bot
1. Wunder Keltner bot is based on the breakout of the Keltner channel. For calculation, 2 channels are used, one for long trades, and the other for short trades. The division into 2 channels is used for more accurate entry calculations depending on trend directions.
2. The ADX indicator is used to filter signals and determine the trend strength. ADX determines the strength of the trend and confirms the entry into the strategy if the value is greater than the level indicated in the settings.
3. There are 3 ways to calculate Stop Loss and Take Profit. You can choose one of them:
Classic Stop Loss and Take Profit in a fixed percentage
ATR Stop Loss
Keltner. Stop Loss, which is set on the opposite Keltner’s Channel Band from Keltner breakout.
4. ATR and Keltner use Risk Reward (R:R) to calculate Take Profit. The script calculates Risk Reward based on the determined Stop loss level and uses the ration to calculate Take Profit.
5. A function for calculating risk on the portfolio (your deposit) has been added to the script. When this option is enabled, you get a calculation of the entry amount in dollars relative to your Stop Loss. In the settings, you can select the risk percentage on your portfolio. The loss will be calculated from the amount that will be displayed on the chart.
For example. Deposit - $1000, you set the risk to 1%. SL 5%. Entry volume will be $200. The loss at SL will be $10.10$ this is your 1% risk or 1% of the deposit.
Important! The risk per trade must be less than the Stop Loss value. If the risk is greater than SL, then you should use leverage.
The amount of funds entering the trade is calculated in dollars. This option was created if you want to send the dollar amount from Tradingview to the exchange. However, putting your volume in dollars you get the incorrect net profit and drawdown indication in the backtest results, as TradingView calculates the backtest volume in contracts.
To display the correct net profit and drawdown values in Tradingview Backtest results, use the ”Volume in contract” option.